Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.012 c
1-11270
Alex4444444444
2002-10-23 11:59
2002.11.04
Рессурсы


7-11523
compsr
2002-09-03 09:58
2002.11.04
Принтер по умолчанию


4-11563
Alexander
2002-09-18 22:49
2002.11.04
Никто не встречал исходники драйвера принтера на Delphi?


1-11311
---vec---
2002-10-23 19:56
2002.11.04
Подскажите где можно почитать о Delphi 7


3-11132
Dmitrey
2002-10-16 09:11
2002.11.04
Просмотр TDataSet без фиического перемещения курсора




   Наверх