Главная страница
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.016 c
14-11459
Jackson
2002-10-15 23:49
2002.11.04
Игра по модему


14-11435
Dmitriy Polskoy
2002-10-15 10:38
2002.11.04
Lazarus


3-11115
Антоха
2002-10-16 12:42
2002.11.04
Констрайнт


7-11530
TAndrew
2002-08-28 19:04
2002.11.04
Права пользователя при запуске программы


1-11171
volph777
2002-10-24 11:52
2002.11.04
dxDateEdit и формат даты ДД.ММ.ГГГГ