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

Delphi Sources



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

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 20.03.2011, 17:44
Аватар для FlyAway
FlyAway FlyAway вне форума
Прохожий
 
Регистрация: 18.02.2011
Адрес: Украина , г. Одесса
Сообщения: 19
Версия Delphi: 7
Репутация: 12
По умолчанию ADOQuery

Столкнулся с такой проблемой , что ADOQuery обязан возвращать какие-либо значения. Можно ли как-то обойтись без этого ?

Код:
DataModule2.qry1.sql.Add (
  'INSERT INTO sotrud ( ФИО, Стаж, Должность, Зарплата ) VALUES ('''+
    Form6.edt1.text+' '+Form6.edt2.text+' '+Form6.edt3.text+     //поле 1
  ''', '+
    Form6.edt4.text+                                   // поле 2
  ', '''+
    Form6.edt5.text+                                  // поле 3
  ''' ,'+
    Form6.edt6.text+                                 // поле 4
  ');');
DataModule2.qry1.Open;

Вылетает ошибка , как на вложенной картинке...
Изображения
Тип файла: jpg 123.JPG (32.7 Кбайт, 11 просмотров)
__________________

Последний раз редактировалось FlyAway, 20.03.2011 в 17:51.
Ответить с цитированием
  #2  
Старый 20.03.2011, 18:05
Assistant Assistant вне форума
Продвинутый
 
Регистрация: 20.02.2011
Адрес: там где правят идиоты
Сообщения: 603
Версия Delphi: 7
Репутация: выкл
По умолчанию

для запросов вида INSERT, DELETE, UPDATE используйте TADOCommand:
Код:
ADOCommand1.CommandText := 'тут запрос';
ADOCommand1.Execute;
или уж если не хотите использовать TADOCommand, делайте не Open, а ExecSQL в DataModule2.qry1
__________________
взялся из неоткуда, ничего не прошу, помогаю просто так
ICQ: 593977748 - стучать в случае КРАЙНЕЙ необходимости, ну, или если вы со Ставрополя
Ответить с цитированием
  #3  
Старый 20.03.2011, 20:33
stil stil вне форума
Новичок
 
Регистрация: 24.11.2010
Сообщения: 91
Репутация: 41
По умолчанию

Код:
qry1.ExecSQL;
это если вставка, удаление, обновление.
Ответить с цитированием
  #4  
Старый 20.03.2011, 21:08
Аватар для FlyAway
FlyAway FlyAway вне форума
Прохожий
 
Регистрация: 18.02.2011
Адрес: Украина , г. Одесса
Сообщения: 19
Версия Delphi: 7
Репутация: 12
По умолчанию

Спасибо , люди добрые )

Ещё столкнулся с такой вот проблемой - добавляет нормально , но не могу сделать refresh.
Вот сам код :
Код:
with DataModule2.qry1
   do
   begin
   Close;
   Parameters.ParamByName('fio').value:=(Form6.edt1.text+' '+Form6.edt2.text+' '+Form6.edt3.text);
   Parameters.ParamByName('staj').value:=StrToInt(Form6.medt1.text);
   Parameters.ParamByName('post').value:=Form6.edt5.text;
   Parameters.ParamByName('zp').value:=StrToInt(Form6.medt2.text);
   SQL.Clear;
   SQL.add ('INSERT INTO sotrud ( ФИО, Стаж, Должность, Зарплата ) VALUES (:fio, :staj, :post, :zp );');
   ExecSQL;
   end;
DataModule2.dbgrd2.refresh; //эта процедура не работает
ShowMessage('Сотрудник добавлен!');
Form6.Close;

Также при первом нажатии кнопки добавить с введёнными мною данными в эдиты всё проходит хорошо , а при повторном в таблицу (.mdb) добавляется строка со счётчиком , но без данных.
__________________

Последний раз редактировалось FlyAway, 20.03.2011 в 22:34.
Ответить с цитированием
  #5  
Старый 20.03.2011, 22:52
Assistant Assistant вне форума
Продвинутый
 
Регистрация: 20.02.2011
Адрес: там где правят идиоты
Сообщения: 603
Версия Delphi: 7
Репутация: выкл
По умолчанию

Код:
DataModule2.qry1.Refresh;
перед
Код:
DataModule2.dbgrd2.refresh;
__________________
взялся из неоткуда, ничего не прошу, помогаю просто так
ICQ: 593977748 - стучать в случае КРАЙНЕЙ необходимости, ну, или если вы со Ставрополя
Ответить с цитированием
  #6  
Старый 20.03.2011, 23:03
Аватар для FlyAway
FlyAway FlyAway вне форума
Прохожий
 
Регистрация: 18.02.2011
Адрес: Украина , г. Одесса
Сообщения: 19
Версия Delphi: 7
Репутация: 12
По умолчанию

А вот так... =\
Добавляет , но как только должен быть рефреш для qry1 - вот что происходит (на картинке..)
Изображения
Тип файла: jpg 12345.JPG (20.7 Кбайт, 6 просмотров)
__________________
Ответить с цитированием
  #7  
Старый 21.03.2011, 02:05
Assistant Assistant вне форума
Продвинутый
 
Регистрация: 20.02.2011
Адрес: там где правят идиоты
Сообщения: 603
Версия Delphi: 7
Репутация: выкл
По умолчанию

а, ну правильно, ты же в qry1 заменяешь запрос SELECT на INSERT (если ты им в грид выводишь)
__________________
взялся из неоткуда, ничего не прошу, помогаю просто так
ICQ: 593977748 - стучать в случае КРАЙНЕЙ необходимости, ну, или если вы со Ставрополя
Ответить с цитированием
  #8  
Старый 21.03.2011, 02:22
Аватар для FlyAway
FlyAway FlyAway вне форума
Прохожий
 
Регистрация: 18.02.2011
Адрес: Украина , г. Одесса
Сообщения: 19
Версия Delphi: 7
Репутация: 12
По умолчанию

в грид инсертом вывожу , правильно , а в чём загвоздка-то ?
__________________
Ответить с цитированием
  #9  
Старый 21.03.2011, 10:47
Assistant Assistant вне форума
Продвинутый
 
Регистрация: 20.02.2011
Адрес: там где правят идиоты
Сообщения: 603
Версия Delphi: 7
Репутация: выкл
По умолчанию

о май гад...
__________________
взялся из неоткуда, ничего не прошу, помогаю просто так
ICQ: 593977748 - стучать в случае КРАЙНЕЙ необходимости, ну, или если вы со Ставрополя

Последний раз редактировалось Assistant, 21.03.2011 в 10:49.
Ответить с цитированием
  #10  
Старый 21.03.2011, 10:49
Assistant Assistant вне форума
Продвинутый
 
Регистрация: 20.02.2011
Адрес: там где правят идиоты
Сообщения: 603
Версия Delphi: 7
Репутация: выкл
По умолчанию

Цитата:
Сообщение от FlyAway
в грид инсертом вывожу , правильно
не правильно, в грид нельзя выводить инсертом, он нужен только для вставки данных в базу данных, для вывода в грид нужно делать:
Код:
SELECT * FROM sotrud
__________________
взялся из неоткуда, ничего не прошу, помогаю просто так
ICQ: 593977748 - стучать в случае КРАЙНЕЙ необходимости, ну, или если вы со Ставрополя
Ответить с цитированием
Ответ


Delphi Sources

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

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

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

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


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


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

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

ВКонтакте   Facebook   Twitter