Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 09.11.2010, 22:40   #1
Рамик
Студент
Форумчанин
 
Аватар для Рамик
 
Регистрация: 18.02.2009
Сообщений: 125
Вопрос БД в делфи + SQL

подскажите что неправильно написал пожалуйста:
Код:
procedure TForm1.Button1Click(Sender: TObject);
begin
ADOQuery1.Active:=false;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('insert into заказчик (Фамилия, имя, компания, телефон)');
ADOQuery1.SQL.Add(' Values (Edit2.text, Edit3.text, Edit4.text, Edit5.text)');
ADOQuery1.Active:=true;
ADOQuery1.Active:=false;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('insert into Картриджи (картридж, дата');
ADOQuery1.SQL.Add(' Values (Edit1.text, Edit6.text)');
ADOQuery1.Active:=true;
ADOQuery1.Active:=false;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('Select картридж, фамилия, имя, компания, телефон, дата, готовность');
ADOQuery1.SQL.Add(' from Заказчик, Картриджи');
ADOQuery1.Active:=true;
end;

Последний раз редактировалось Рамик; 09.11.2010 в 22:44.
Рамик вне форума Ответить с цитированием
Старый 10.11.2010, 00:12   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

когда выполняете операции с данными (Insert/Uodate/Delete)
нельзя делать ADOQuery1.Active := true; (или ADOQuery1.Open)
можно делать исключительно .
Код:
ADOQuery1.ExecSQL;
да. и значения в запрос так не передают!!!
надо так:
Код:
ADOQuery1.Active:=false;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('insert into заказчик (Фамилия, имя, компания, телефон)');
ADOQuery1.SQL.Add(' Values ('+QuotedStr(Edit2.text)+','+QuotedStr( Edit3.text)+','+QuotedStr(Edit4.text)+','+QuotedStr(Edit5.text)+')');
ADOQuery1.ExecSQL;

ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('insert into Картриджи (картридж, дата');
ADOQuery1.SQL.Add(' Values ('+QuotedStr(Edit1.text)+','+QuotedStr( Edit6.text)+')');
ADOQuery1.ExecSQL;


ADOQuery1.SQL.Clear;
...

Последний раз редактировалось Serge_Bliznykov; 10.11.2010 в 00:15.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 10.11.2010, 06:44   #3
Рамик
Студент
Форумчанин
 
Аватар для Рамик
 
Регистрация: 18.02.2009
Сообщений: 125
По умолчанию

спасибо!
только почему то выдает ошибку:
"Ошибка синтаксиса в инструкции INSERT INTO" =(
Рамик вне форума Ответить с цитированием
Старый 10.11.2010, 07:38   #4
pray_driver
Форумчанин
 
Аватар для pray_driver
 
Регистрация: 18.08.2010
Сообщений: 140
По умолчанию

Цитата:
Сообщение от Рамик Посмотреть сообщение
спасибо!
только почему то выдает ошибку:
"Ошибка синтаксиса в инструкции INSERT INTO" =(
соответственно проверить синтаксис SQL.
я обычно вывожу текст SQL куда-нибудь в Memo, копирую SQL-запрос непосредственно в среду БД и там уже смотрю где в синтаксисе ошибка. Иногда запятая пропущена, иногда что-нибудь надо в апострофах, или тип данных специфический. А так на вид у Вас всё нормально.

[code]
ADOQuery1.SQL.Add('insert into Картриджи (картридж, дата)');
ADOQuery1.SQL.Add(' Values ('+QuotedStr(Edit1.text)+','+Quoted Str( Edit6.text)+')');
Люди бывают десяти типов: те, кто знают двоичную систему, и те, кто нет

Последний раз редактировалось Stilet; 10.11.2010 в 09:02.
pray_driver вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
ms sql server 2005 и Делфи StartMis Общие вопросы Delphi 10 11.08.2010 21:06
Из делфи узнать есть ли данные в таблице SQL server_а. S_Yevgeniy БД в Delphi 4 04.12.2009 21:10
Помогите создать базу SQL на Делфи photozaz БД в Delphi 3 01.11.2008 20:30
Проблема с sql в делфи spiteful41 Помощь студентам 4 27.05.2008 01:23