Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 28.04.2012, 14:28
Alexi Alexi вне форума
Прохожий
 
Регистрация: 27.03.2012
Сообщения: 10
Репутация: 10
По умолчанию Базы данных в делфи

Всем доброго времени суток!)) Снова я со своими файлами(( У меня к Вам такой вопрос. Имеется форма: аываыв.jpg
С этой формы нужно сохранить данные в бд Access. Для этого прописываю процедуру по нажатию на кнопку сохранить, но выдает ошибку "Ошибка синтаксиса в инструкции Insert into", подскажите что можно сделать? за ранее всем спасибо :
Цитата:
procedure TForm1.BitBtn7Click(Sender: TObject);
var i: integer;
begin
with form1.ADOQuery1 do
begin
SQL.Clear;
SQL.Add(' INSERT INTO zakaz (id,ФИО,Телефон,Адрес,E-mail,Заказ,Поставщики)'+
'VALUES (null,:fio, :Tel, :mail, :adres, :zakaz, ost,)');
Parameters.ParamByName('fio').Value:=edit1.Text;
Parameters.ParamByName('Tel').Value:=edit2.Text;
Parameters.ParamByName('mail').Value:=edit3.Text;
Parameters.ParamByName('adres').Value:=edit4.Text;
if CheckBox1.Checked then
Parameters.ParamByName('zakaz').Value:=CheckBox1.C aption;
if CheckBox2.Checked then
Parameters.ParamByName('zakaz').Value:=CheckBox2.C aption;
if CheckBox3.Checked then
Parameters.ParamByName('zakaz').Value:=CheckBox3.C aption;
if CheckBox4.Checked then
Parameters.ParamByName('zakaz').Value:=CheckBox4.C aption;
if CheckBox5.Checked then
Parameters.ParamByName('zakaz').Value:=CheckBox5.C aption;
Parameters.ParamByName('post').Value:=ListBox1.ite ms.Text;
ExecSQL;
edit1.clear;
edit2.clear;
Edit3.clear;
Edit4.clear;
CheckBox1.Checked:=false;
CheckBox2.Checked:=false;
CheckBox3.Checked:=false;
CheckBox4.Checked:=false;
CheckBox5.Checked:=false;
for i:=0 to 15 do
ListBox1.Selected[i]:=false;
ShowMessage('Запись добавлена!');
end;
end;
Ответить с цитированием
  #2  
Старый 28.04.2012, 14:41
Аватар для Ildar-tsr
Ildar-tsr Ildar-tsr вне форума
Местный
 
Регистрация: 09.08.2011
Адрес: г.Сургут, ХМАО
Сообщения: 453
Репутация: 7402
По умолчанию

Во-1, есть ЦЕЛЫЙ РАЗДЕЛ, посвященный БД.
Во-2, проще будет сделать следующее:
Перед строкой ExecSQL, пропишите
Код:
SaveToFile('C:\123.txt')
Прогоните прогу до ошибке. затем иди на диск С, находите файл 123.txt и высылаете сюда для всеобщего рассмотрения. Там уж все ошибки сразу видны будут.
__________________
Google в помощь
Ответить с цитированием
  #3  
Старый 28.04.2012, 14:59
Alexi Alexi вне форума
Прохожий
 
Регистрация: 27.03.2012
Сообщения: 10
Репутация: 10
По умолчанию

не сохраняет файл, ни на диске С ни в другом месте
Ответить с цитированием
  #4  
Старый 28.04.2012, 16:04
Аватар для Ildar-tsr
Ildar-tsr Ildar-tsr вне форума
Местный
 
Регистрация: 09.08.2011
Адрес: г.Сургут, ХМАО
Сообщения: 453
Репутация: 7402
По умолчанию

Прошу прощения, запарился уже к концу рабочей недели:
SQL.SaveToFile(C:\123.txt);
__________________
Google в помощь
Ответить с цитированием
  #5  
Старый 28.04.2012, 17:19
Alexi Alexi вне форума
Прохожий
 
Регистрация: 27.03.2012
Сообщения: 10
Репутация: 10
По умолчанию

вот файл 123.txt
Ответить с цитированием
  #6  
Старый 28.04.2012, 18:31
Аватар для Ildar-tsr
Ildar-tsr Ildar-tsr вне форума
Местный
 
Регистрация: 09.08.2011
Адрес: г.Сургут, ХМАО
Сообщения: 453
Репутация: 7402
По умолчанию

Цитата:
Сообщение от Alexi
вот файл Вложение 3050
Код:
INSERT INTO zakaz ([id],[ФИО],[Телефон],[Адрес],[E-mail],[Заказ],[Поставщики])
VALUES (null,:fio, :Tel, :mail, :adres, :zakaz, :post,)
Из явных ошибок: запятая лишняя, все имена полей возьмите в [].
Пробуйте, если и так отрабатывать не будет, будем смотреть дальше.
P.S. Поменяйте еще местами параметры mail и adres
__________________
Google в помощь
Ответить с цитированием
  #7  
Старый 28.04.2012, 19:05
Alexi Alexi вне форума
Прохожий
 
Регистрация: 27.03.2012
Сообщения: 10
Репутация: 10
По умолчанию

Код не много изменила, теперь никаких ошибок не выдает, программа запускается, но в базе данных запись не сохраняет, хотя никаких ошибок не выдает.
Код:
procedure TForm1.BitBtn7Click(Sender: TObject);
begin
with form1.ADOQuery1 do
    begin
      SQL.Clear;
      SQL.add(' INSERT INTO zakaz ([ФИО],[Телефон],[Адрес],[E-mail],[Заказ],[Поставщики])'+
   'VALUES (null,:fio, :Tel, :adres, :mail, :zakaz, :post)');
      Parameters.ParamByName('fio').Value:=edit1.Text;
      Parameters.ParamByName('Tel').Value:=edit2.Text;
      Parameters.ParamByName('mail').Value:=edit3.Text;
      Parameters.ParamByName('adres').Value:=edit4.Text;
  if CheckBox1.Checked then
    Parameters.ParamByName('zakaz').Value:=CheckBox1.Caption;
    if CheckBox2.Checked then
      Parameters.ParamByName('zakaz').Value:=CheckBox2.Caption;
      if CheckBox3.Checked then
      Parameters.ParamByName('zakaz').Value:=CheckBox3.Caption;
      if CheckBox4.Checked then
      Parameters.ParamByName('zakaz').Value:=CheckBox4.Caption;
      if CheckBox5.Checked then
      Parameters.ParamByName('zakaz').Value:=CheckBox5.Caption;
      Parameters.ParamByName('post').Value:=ListBox1.items.Text;
       ADOQuery1.sql.text:='Select * from zakaz';
      ADOQuery1.active:=true;
      edit1.text:='';
      edit2.text:='';
      Edit3.text:='';
      Edit4.text:='';
      CheckBox1.Checked:=false;
CheckBox2.Checked:=false;
CheckBox3.Checked:=false;
CheckBox4.Checked:=false;
CheckBox5.Checked:=false;
for i:=0 to 15 do
ListBox1.Selected[i]:=false;
      ShowMessage('Запись добавлена!');
    end;

end;
Админ: Используем правильные теги для кода [code]!

Последний раз редактировалось Admin, 28.04.2012 в 20:40.
Ответить с цитированием
  #8  
Старый 28.04.2012, 19:53
Аватар для Ildar-tsr
Ildar-tsr Ildar-tsr вне форума
Местный
 
Регистрация: 09.08.2011
Адрес: г.Сургут, ХМАО
Сообщения: 453
Репутация: 7402
По умолчанию

Вставьте после данной строчки:
Код:
Parameters.ParamByName('post').Value:=ListBox1.items.Text;
ExecSQL;
__________________
Google в помощь
Ответить с цитированием
  #9  
Старый 28.04.2012, 20:40
Alexi Alexi вне форума
Прохожий
 
Регистрация: 27.03.2012
Сообщения: 10
Репутация: 10
По умолчанию

вставляла кстати, и в свойстве SQLпрописывала код Select * from zakaz, и программа выдавала ошибку "ошибка синтаксиса инструкции Insert into"
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 23:27.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025