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

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

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 01.08.2011, 13:18   #1
ZHDN
Пользователь
 
Регистрация: 25.07.2011
Сообщений: 42
По умолчанию Как передать правильно параметр.

Имеется ComboBox каторому забиты Items
0: TableName
1: TableName

На копочку пишу.
Код:
Query1.Close;
Query1.SQL.Text:='Delete From :param1 where.....';
Query1.Parameters.ParamByName('Param1').Value:=Combobox1.Text;
Query1.Open;
На что пишит ошибку:

"Необходимо обьявить табличную переменную "@P" "

Как сделать чтоб работало?
ZHDN вне форума Ответить с цитированием
Старый 01.08.2011, 13:25   #2
veniside
Старожил
 
Регистрация: 03.01.2011
Сообщений: 2,508
По умолчанию

это извращение не сработает, будьте проще:

Код:
Query1.Close;
Query1.SQL.Text:='Delete From ' + Combobox1.Text + ' where.....';
Query1.Open;
"Когда приходит положенное время, человек перестаёт играть в пинбол. Только и всего."
veniside вне форума Ответить с цитированием
Старый 01.08.2011, 13:28   #3
ZHDN
Пользователь
 
Регистрация: 25.07.2011
Сообщений: 42
По умолчанию

Цитата:
Сообщение от veniside Посмотреть сообщение
это извращение не сработает, будьте проще:

Код:
Query1.Close;
Query1.SQL.Text:='Delete From ' + Combobox1.Text + ' where.....';
Query1.Open;
Чет я даже об этом и не падумал.Спасибо.
ZHDN вне форума Ответить с цитированием
Старый 01.08.2011, 14:18   #4
ZHDN
Пользователь
 
Регистрация: 25.07.2011
Сообщений: 42
По умолчанию

Код:
procedure TForm1.Button1Click(Sender: TObject);
  begin
  ADOQuery1.Close;
  DateTimePicker1.time:=DateTimePicker2.time;
  DateTimePicker3.time:=DateTimePicker4.time;
  ADOQuery1.SQL.Text:='DELETE FROM '+ Combobox1.Text +' WHERE SimpleTime BETWEEN :param1 AND :Param2';
  ADOQuery1.Parameters.ParamByName('Param1').Value:=DateTimePicker1.DateTime;
  ADOQuery1.Parameters.ParamByName('Param2').Value:=DateTimePicker3.DateTime;
  ADOQuery1.Open;
  end;
Ошибка: ADOQuery1 : CommandText does not return a result set
ZHDN вне форума Ответить с цитированием
Старый 01.08.2011, 14:22   #5
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Вместо ADOQuery1.Open вставить ADOQuery1.ExecSQL
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
как програмно передать параметр в запрос на выборку Святой Дьявол Microsoft Office Access 6 09.06.2010 22:20
Как передать в функцию параметр разных типов borispnz Общие вопросы Delphi 5 06.02.2010 08:37
Как передать параметру записи, что в нем параметр это статический массив с данными? SkAndrew Общие вопросы Delphi 6 26.06.2009 02:02
Как передать параметр в другое(модальное) окно? kiber0net0 Общие вопросы Delphi 3 21.09.2008 13:03
Как передать параметр? Иллидан Общие вопросы Delphi 8 12.07.2008 12:57