Отправляет email-рассылки с помощью сервиса Sendsay

RFpro.ru: СУБД и Delphi/Lazarus

  Все выпуски  

RusFAQ.ru: СУБД и Delphi


РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / СУБД и Delphi

Выпуск № 221
от 13.10.2006, 14:05

Администратор:CJ
В рассылке:Подписчиков: 265, Экспертов: 40
В номере:Вопросов: 1, Ответов: 2


Вопрос № 58068: Здравствуйте! DElphi7 + ADO + MSAccess 2000. Есть таблица из четырех полей - f1, f2, f3, f4. Поле f1 - primary key, autoincrement. Пытаюсь через ADOQuery выполнить запрос на вставку записи следующим образом: with tmpQuery do begin SQL.Clear;...

Вопрос № 58.068
Здравствуйте! DElphi7 + ADO + MSAccess 2000. Есть таблица из четырех полей - f1, f2, f3, f4. Поле f1 - primary key, autoincrement. Пытаюсь через ADOQuery выполнить запрос на вставку записи следующим образом:
with tmpQuery do begin
SQL.Clear;
SQL.Add('INSERT INTO [TableName] (f2, f3, f4)');
SQL.Add('VALUES (f2Value, f3Value, f4Value)');
ExecSQL;
Close;
end;
На что получаю сообщение об ошибке: "Индекс или ключ не может содержать пустое значение (Null)"... Подскажите как побороть? Я так понимаю при INSERTe имена автоинкрементных полей не указываются...
Заранее спасибо.
Отправлен: 07.10.2006, 21:45
Вопрос задал: Savnick (статус: Посетитель)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 1)

Отвечает: 3лоумышленник
Здравствуйте, Savnick!
Вот аналогичный запрос из конструктора Access, вставка в таблицу из 3-х полей, одно - счётчик:
INSERT INTO routs ( Name, Descr )

SELECT [1] AS Выражение1, [2] AS Выражение2
Т. е. попробуйте вместо VALUES использовать SELECT
---------
"Люди неизбежно умирают", A. Schwarzenegger (Terminator 3: Rise of the Machines)
Ответ отправил: 3лоумышленник (статус: Студент)
Ответ отправлен: 07.10.2006, 23:00

Отвечает: Устинов Сергей Евгеньевич
Здравствуйте, Savnick!

В том формате, как Вы записали у меня все работает, только я все поля f2, f3, f4 сделал текстовыми и вставлял соответственно SQL.Add('VALUES ("f2Value', "f3Value", "f4Value")');

Ваша ошибка может быть в несоответствии значений, которые Вы вставляете, например f2Value это у вас компонент TEdit, тогда вставлять нужно не f2Value, а f2Value.text

Удачи!
---------
Ответы на все вопросы - на сайте www.ya.ru
Ответ отправил: Устинов Сергей Евгеньевич (статус: Студент)
Ответ отправлен: 07.10.2006, 23:13


Отправить вопрос экспертам этой рассылки

Приложение (если необходимо):

* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2006, Портал RusFAQ.ru, Россия, Москва.
Идея, дизайн, программирование: Калашников О.А.
Email: adm@rusfaq.ru, Тел.: +7 (926) 535-23-31
Авторские права | Реклама на портале
Версия системы: 4.37 от 04.10.2006
Яндекс Rambler's Top100

В избранное