Главная страница
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.013 c
1-11191
MsGuns
2002-10-24 13:27
2002.11.04
ПОЛЦАРСТВА ЗА ФИЧУ !!!


3-11040
weak
2002-10-14 13:09
2002.11.04
ADO и параметры


1-11289
Демонов Е.В.
2002-10-23 15:22
2002.11.04
Вопрос про дерективу


7-11512
root87
2002-08-23 13:55
2002.11.04
администрирование удалённого компьютера


3-11064
Chak
2002-10-14 16:09
2002.11.04
MSSQL==>ORACLE