Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.11.04;
Скачать: CL | DM;

Вниз

ADO и параметры   Найти похожие ветки 

 
weak   (2002-10-14 13:09) [0]

Подскажите пожалуйста в чем ошибка. Код:
ADOQDate.Parameters.ParamByName("dat").Value := StrToDate(DEDate.Text);
ADOTRashod.Open;
if not (ADOTRashod.Locate("rashod_date",VarArrayOf ([dat]),[])) then //если в этой таблице нет данных на данную дату, то
ADOQDate.SQL.Clear;
ADOQDate.SQL.Text := "insert into Rashod (potreb_kod, rashod_date) select potreb_kod, :dat from Potrebitel"; //вставляю записи
ADOQDate.ExecSQL;
ADOTRashod.Close;

Ошибка! Parameter object is improperly defined. Inconsistent or incomplete information was provider.

В чем проблема?


 
sniknik ©   (2002-10-14 13:15) [1]

сначала
ADOQDate.SQL.Text := "insert into Rashod (potreb_kod, rashod_date) select potreb_kod, :dat from Potrebitel";
потом
ADOQDate.Parameters.ParamByName("dat").Value := StrToDate(DEDate.Text);


 
ЮЮ ©   (2002-10-14 13:16) [2]

Сначало написать текст запроса
ADOQDate.SQL.Text := "insert into Rashod (potreb_kod, rashod_date) select potreb_kod, :dat from Potrebitel"; //вставляю записи
а затем определять значения параметра
ADOQDate.Parameters.ParamByName("dat").Value := StrToDate(DEDate.Text);

Кстати, в
ADOTRashod.Locate("rashod_date",VarArrayOf ([ dat]),[]))
используешь одну дату, а в
ADOQDate.Parameters.ParamByName("dat").Value := StrToDate( DEDate.Text);
lheue.


 
Johnmen ©   (2002-10-14 13:16) [3]

перед ADOQDate.ExecSQL; надо
ADOQDate.Parameters.ParamByName("dat").Value := StrToDate(DEDate.Text);


 
[NIKEL] ©   (2002-10-14 13:20) [4]

1.попробуй определить праметры во время проектирования(это можно сделать и без запроса в Query)
2.ADOQDate.Parameters.Items[0].Value или ADOQDate.Parameters.ParamValues["dat"] = StrToDate(DEDate.Text);


 
weak   (2002-10-14 15:22) [5]

Да, кое что исправила. Получилось вот что:
DM.ADOQDate.SQL.Text := "insert into Rashod (potreb_kod, rashod_date) select potreb_kod, :dat from Potrebitel";
DM.ADOQDate.Parameters.ParamValues["dat"] := StrToDate(DBdtEditDate.Text);
DM.ADOTRashod.Open;
if not (DM.ADOTRashod.Locate("rashod_date",VarArrayOf([DBdtEditDate.Text]),[])) then
DM.ADOQDate.ExecSQL;
DM.ADOTRashod.Close;
А теперь вот такая ошибка: Optional feature not implemented.
???


 
Johnmen ©   (2002-10-14 15:55) [6]

В какой строке ?


 
weak   (2002-10-14 16:01) [7]

На строке ADOQDAte.ExecSQL;
Именно ругается ODBC SQLServer Driver.


 
sniknik ©   (2002-10-14 16:36) [8]

говорит что ODBC этого не понимает
поменяй провайдера на SQLOLEDB пройдет вот это с ним проходит

INSERT INTO Invoices1 (RequiredDate, ShippedDate) SELECT RequiredDate, GetDate() FROM Invoices
INSERT INTO Invoices1 (RequiredDate, ShippedDate) SELECT RequiredDate, "12.12.2002" FROM Invoices



Страницы: 1 вся ветка

Текущий архив: 2002.11.04;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.02 c
1-11329
Lord Vader
2002-10-24 01:41
2002.11.04
Текстовый редактор


1-11164
basic
2002-10-24 10:27
2002.11.04
Должен ли Click отрабатываться в tRadioGroup


14-11445
Юра
2002-10-14 15:10
2002.11.04
Где взять архивы форумов?


3-11085
dimonf
2002-10-15 19:31
2002.11.04
Задача для ума!


1-11265
SanyaLaz
2002-10-23 11:16
2002.11.04
Помогите !!!!!!!!