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

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

  Все выпуски  

RusFAQ.ru: СУБД и Delphi


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

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

Выпуск № 298
от 30.03.2007, 16:35

Администратор:Gh0stik
В рассылке:Подписчиков: 309, Экспертов: 44
В номере:Вопросов: 1, Ответов: 3


Вопрос № 79686: Уважаемые программисты, у меня к Вам вопрос, надеюсь пишу в правильном направлении: Я пишу на Delphi с использованием SQL, так вот, при попытке добавить запись в таблицу возникает ошибка, я делаю так, код запроса и ошибку смотрите в приложении.<b...

Вопрос № 79.686
Уважаемые программисты, у меня к Вам вопрос, надеюсь пишу в правильном направлении:
Я пишу на Delphi с использованием SQL, так вот, при попытке добавить запись в таблицу возникает ошибка, я делаю так, код запроса и ошибку смотрите в приложении.
Использую Delphi 7 и FireBird базы FDB
В чем моя ошибка?

Приложение:

Отправлен: 25.03.2007, 16:27
Вопрос задал: xXx (статус: 6-ой класс)
Всего ответов: 3
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: sir henry
Здравствуйте, xXx!
Все строковые данные при добавлении в таблицу в обязательном порядке должны быть заключенными в кавычки. Кроме того, данные необходимо отделять друг от друга запятыми. Правильно будет так:

IBQuery1.SQL.Clear;
IBQuery1.SQL.Add('insert into Main (Family,Name,Otch)');
IBQuery1.SQL.Add(QuotedStr(edit1.text)+','+QuotedStr(edit2.text)+','+QuotedStr(edit3.text));
IBQuery1.ExecSQL;
Ответ отправил: sir henry (статус: Академик)
Россия, Красноярск
----
Ответ отправлен: 26.03.2007, 05:31

Отвечает: Лукьяненко Алексей Валериевич
Здравствуйте, xXx!

Добавлю к предыдущему ответу, что пропущена обязательная конструкция
VALUES ()
т.е. должно быть так:
IBQuery1.SQL.Clear;
IBQuery1.SQL.Add('insert into Main (Family,Name,Otch)');
IBQuery1.SQL.Add('VALUES (');
IBQuery1.SQL.Add(QuotedStr(edit1.text)+','+QuotedStr(edit2.text)+','+QuotedStr(edit3.text));
IBQuery1.SQL.Add(')');
IBQuery1.ExecSQL;
Ответ отправил: Лукьяненко Алексей Валериевич (статус: 7-ой класс)
Ответ отправлен: 26.03.2007, 10:16

Отвечает: Архангельский Андрей Германович
Здравствуйте, xXx!

Код:
IBQuery1.SQL.Clear;
IBQuery1.SQL.Add('insert into Main (Family,Name,Otch)');
IBQuery1.SQL.Add(' values ('''+edit1.text+''','''+edit2.text+''','''+edit3.text+''');');
IBQuery1.ExecSQL;


---------
Если дело заслуживает быть сделаным, то оно заслуживает, чтобы его сделали ХОРОШО
Ответ отправил: Архангельский Андрей Германович (статус: Специалист)
Ответ отправлен: 26.03.2007, 10:36


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

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

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

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

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


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


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

В избранное