0 / 0 / 0
Регистрация: 25.05.2010
Сообщений: 7
1

Ошибка при заполнении таблицы: Validation error for column

14.06.2010, 16:39. Показов 3786. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
я ввожу данные в таблицу PC через IBConsole и появляется следующая ошибка:
Validation error for column PC_STATUS, value "*** null ***"
Statement:
SQL
1
2
INSERT INTO PC(Status_ID,PC_number,Form_factor,Blok_name,Mother_name,Privod_name,HDD_name,Video_name,Sound_name,RAM_name,CPU_name,Monitor_name,Key_name,Mouse_name,Kabinet_number)
VALUES (1,42101,'Foxconn TS-079 MiddleTower','PM 400W P20+4pin 120 FAN','ASUS M3A78-EH','Optiarc AD-72035','Samsung Spinpoint HD320kj 320Gb','Saphere Radeon HD4670 512Mb','âñòðîåííàÿ','Kingston HyperX KHX6400D2K2/2G 2X1Gb','AMD Athlon64X2 5600+','Samsung SyncmasterT170','A4Tech KB-28G','A4Tech XL-750BF',421)
При этом все предыдущие таблицы заполнились нормально, в чем причина этой ошибки и как ее исправит?

Таблица PC:
SQL
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
CREATE TABLE PC
(PC_ID INTEGER NOT NULL PRIMARY KEY,
Status_ID INTEGER NOT NULL,
PC_number INTEGER NOT NULL,
Form_factor VARCHAR(50),
Blok_name VARCHAR(50),
Mother_name VARCHAR(50),
Privod_name VARCHAR(50),
HDD_name VARCHAR(50),
Video_name VARCHAR(50),
Sound_name VARCHAR(50),
RAM_name VARCHAR(50),
CPU_name VARCHAR(50),
Monitor_name VARCHAR(50),
Key_name VARCHAR(50),
Mouse_name VARCHAR(50),
PC_status VARCHAR(30) NOT NULL,
Kabinet_number INTEGER NOT NULL)
Таблица Status:
SQL
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
CREATE TABLE STATUS
(Status_ID INTEGER NOT NULL PRIMARY KEY,
PC_number INTEGER NOT NULL,
PC_status VARCHAR(30) NOT NULL,
Blok_status VARCHAR(30) NOT NULL,
Mother_status VARCHAR(30) NOT NULL,
Privod_status VARCHAR(30) NOT NULL,
HDD_status VARCHAR(30) NOT NULL,
Video_status VARCHAR(30) NOT NULL,
Sound_status VARCHAR(30) NOT NULL,
RAM_status VARCHAR(30) NOT NULL,
CPU_status VARCHAR(30) NOT NULL,
Monitor_status VARCHAR(30) NOT NULL,
Key_status VARCHAR(30) NOT NULL,
Mouse_status VARCHAR(30) NOT NULL)
Внешний ключ:
SQL
1
2
ALTER TABLE PC
ADD FOREIGN KEY(Status_ID) REFERENCES STATUS (Status_ID)
Триггеры:

SQL
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
SET term ^ ;
 
CREATE TRIGGER create_trpc FOR PC
BEFORE INSERT POSITION 0
AS BEGIN
NEW.PC_ID = gen_id(genpcid, 1);
END^
 
CREATE TRIGGER create_trstatus FOR STATUS 
BEFORE INSERT POSITION 0
AS BEGIN
NEW.Status_ID = gen_id(genstatusid, 1);
END^
 
SET term ; ^
Заполнение таблицы Status:
SQL
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
INSERT INTO STATUS(Status_ID,PC_Number,PC_Status,Blok_Status,Mother_Status,Privod_Status,HDD_Status,Video_Status,Sound_Status,Ram_Status,CPU_Status,Monitor_Status,Key_Status,Mouse_Status)
VALUES (1,42101,'работает','исправен','исправен','исправен','исправен','исправен','исправен','исправен','исправен','исправен','исправен','исправен');
INSERT INTO STATUS(Status_ID,PC_Number,PC_Status,Blok_Status,Mother_Status,Privod_Status,HDD_Status,Video_Status,Sound_Status,Ram_Status,CPU_Status,Monitor_Status,Key_Status,Mouse_Status)
VALUES (2,42102,'работает','исправен','исправен','исправен','исправен','исправен','исправен','исправен','исправен','исправен','исправен','исправен');
INSERT INTO STATUS(Status_ID,PC_Number,PC_Status,Blok_Status,Mother_Status,Privod_Status,HDD_Status,Video_Status,Sound_Status,Ram_Status,CPU_Status,Monitor_Status,Key_Status,Mouse_Status)
VALUES (3,42103,'работает','исправен','исправен','исправен','исправен','исправен','исправен','исправен','исправен','исправен','исправен','исправен');
INSERT INTO STATUS(Status_ID,PC_Number,PC_Status,Blok_Status,Mother_Status,Privod_Status,HDD_Status,Video_Status,Sound_Status,Ram_Status,CPU_Status,Monitor_Status,Key_Status,Mouse_Status)
VALUES (4,42104,'работает','исправен','исправен','исправен','исправен','исправен','исправен','исправен','исправен','исправен','исправен','исправен');
INSERT INTO STATUS(Status_ID,PC_Number,PC_Status,Blok_Status,Mother_Status,Privod_Status,HDD_Status,Video_Status,Sound_Status,Ram_Status,CPU_Status,Monitor_Status,Key_Status,Mouse_Status)
VALUES (5,42105,'работает','исправен','исправен','исправен','исправен','исправен','исправен','исправен','исправен','исправен','исправен','исправен');
INSERT INTO STATUS(Status_ID,PC_Number,PC_Status,Blok_Status,Mother_Status,Privod_Status,HDD_Status,Video_Status,Sound_Status,Ram_Status,CPU_Status,Monitor_Status,Key_Status,Mouse_Status)
VALUES (6,42106,'работает','исправен','исправен','исправен','исправен','исправен','исправен','исправен','исправен','исправен','исправен','исправен');
INSERT INTO STATUS(Status_ID,PC_Number,PC_Status,Blok_Status,Mother_Status,Privod_Status,HDD_Status,Video_Status,Sound_Status,Ram_Status,CPU_Status,Monitor_Status,Key_Status,Mouse_Status)
VALUES (7,42107,'работает','исправен','исправен','исправен','исправен','исправен','исправен','исправен','исправен','исправен','исправен','исправен');
INSERT INTO STATUS(Status_ID,PC_Number,PC_Status,Blok_Status,Mother_Status,Privod_Status,HDD_Status,Video_Status,Sound_Status,Ram_Status,CPU_Status,Monitor_Status,Key_Status,Mouse_Status)
VALUES (8,42108,'работает','исправен','исправен','исправен','исправен','исправен','исправен','исправен','исправен','исправен','исправен','исправен');
INSERT INTO STATUS(Status_ID,PC_Number,PC_Status,Blok_Status,Mother_Status,Privod_Status,HDD_Status,Video_Status,Sound_Status,Ram_Status,CPU_Status,Monitor_Status,Key_Status,Mouse_Status)
VALUES (9,42109,'работает','исправен','исправен','исправен','исправен','исправен','исправен','исправен','исправен','исправен','исправен','исправен');
INSERT INTO STATUS(Status_ID,PC_Number,PC_Status,Blok_Status,Mother_Status,Privod_Status,HDD_Status,Video_Status,Sound_Status,Ram_Status,CPU_Status,Monitor_Status,Key_Status,Mouse_Status)
VALUES (10,42110,'работает','исправен','исправен','исправен','исправен','исправен','исправен','исправен','исправен','исправен','исправен','исправен');
Заполнение таблицы PC:
SQL
1
2
INSERT INTO PC(Status_ID,PC_number,Form_factor,Blok_name,Mother_name,Privod_name,HDD_name,Video_name,Sound_name,RAM_name,CPU_name,Monitor_name,Key_name,Mouse_name,Kabinet_number)
VALUES (1,42101,'Foxconn TS-079 MiddleTower','PM 400W P20+4pin 120 FAN','ASUS M3A78-EH','Optiarc AD-72035','Samsung Spinpoint HD320kj 320Gb','Saphere Radeon HD4670 512Mb','встроенная','Kingston HyperX KHX6400D2K2/2G 2X1Gb','AMD Athlon64X2 5600+','Samsung SyncmasterT170','A4Tech KB-28G','A4Tech XL-750BF',421);
Работаю с InterBase 6.5
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
14.06.2010, 16:39
Ответы с готовыми решениями:

Run-time error при заполнении таблицы из файла
Доброго времени суток. Программа ищет отчеты из файла Data.dat (алгоритм рабочий) В итоге в массиве...

Ошибка при заполнении таблицы
есть бд, 1 таблица заполнилась норм.создала 2 сделала ключи ,отношение по ключам,а заполнить теперь...

Ошибка при заполнении таблицы данными
Создана БД NewCompany, в ней создана таблица EmployeeSchema.Employee, проблема в том, что при...

Ошибка #1062 при заполнении таблицы
добрый день. Помогите пожалуйсто решить проблемку при заполнении таблицы выдает такую ошибку:...

1
912 / 877 / 62
Регистрация: 06.01.2010
Сообщений: 2,367
Записей в блоге: 6
14.06.2010, 21:03 2
В таблице PC есть поле
SQL
1
PC_status VARCHAR(30) NOT NULL
определение
SQL
1
NOT NULL
означает, что данное поле ОБЯЗАНО быть заполенено (явно, триггером или через default-выражение). Смотрим что у вас:
1) в команде вставки упоминание о PC_status отсутствует
SQL
1
INSERT INTO PC(Status_ID,PC_number,Form_factor,Blok_name,Mothe r_name,Privod_name,HDD_name,Video_name,Sound_name, RAM_name,CPU_name,Monitor_name,Key_name,Mouse_name ,Kabinet_number)
2) default-значение вы не задали
3) в before insert триггере также значение для PC_status не присваивается.

Итак, сервер обосованно говорит, что
SQL
1
VALUE "*** null ***"
0
14.06.2010, 21:03
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
14.06.2010, 21:03
Помогаю со студенческими работами здесь

Ошибка при заполнении таблицы через массив
Приветствую вас. Можете подсказать как исправить ошибку? При попытке заполнить таблицу выходит...

У меня ошибка при заполнении таблицы через интерфейс
У меня на сайте уже есть БД с таблицей dbhv. Сам сайт состоит из 6 страниц, где есть 1 страница...

Ошибка в синтаксисе при открытии и заполнении таблицы в Word
D.Application.Selection.Tables.Add(D.ActiveWindow.Selection.Range, 4, 6,...

Ошибка при заполнении ListBox данными одного из столбцов таблицы БД
Собственно ошибка вот такая: Object reference not set to an instance of an object. а код вот...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru