![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
не работает запрос
mmip © (2007-01-19 15:52:00)select * from Custom where Sub=:sd1
Query1.close;
Query1.Params[0].Value:=sd;
Query1.Prepare;
query1.ExecSQL;
Не определяет параметр, ищет всегда по =0.
Почему????????? Задолбался уже
mmip (2007-01-19 18:07:00) [1]СУБД MSSQL
Johnmen (2007-01-19 18:01:00) [2]
> убираю этот кусок вообще, результат тотже
Вообще-то я о другом. Ну да ладно...
Итак, какая СУБД и текущий "неработающий" код?
mmip (2007-01-19 17:55:00) [3]убираю этот кусок вообще, результат тотже
Johnmen (2007-01-19 17:52:00) [4]Вот примечательное место
for j:=1 to maxjdo begin
if FormN[j]=Sd then begin
sd:=sd+maxj;
inc(maxj);// êîëè÷åñòâî ôîðì
end;
end;
по поводу "Delphi криво стоит или еще что-то подобное"
:)))
mmip (2007-01-19 17:39:00) [5]Причем через ADODataSet та же фигня
mmip (2007-01-19 17:38:00) [6]:) тоже пробовал, не получается и все тут. Может у меня Delphi криво стоит или еще что-то подобное?
Игорь Шевченко (2007-01-19 17:28:00) [7]попробуй Params[0].AsInteger := sd
mmip (2007-01-19 17:16:00) [8]что она равна 1, и даже Query1.Params[0].Value=1 (в отладчике), а работает как при нулевом параметре.
Если явно задать Query1.Params[0].Value:=1, то работает правильно
Игорь Шевченко (2007-01-19 17:10:00) [9]mmip © (19.01.07 17:07) [10]
а что говорит отладчик о значении переменной sd ?
mmip (2007-01-19 17:07:00) [10]
> а на Query1.Eof проверить не надо ? Может, и не выбралось
> ничего ?
Конечно не выбралось, там с параметром=0 и не должно ничего выбираться
mmip (2007-01-19 17:06:00) [11]параметр определяется, задаю его вручную FtInteger
Игорь Шевченко (2007-01-19 16:50:00) [12]
> query1.open;
а на Query1.Eof проверить не надо ? Может, и не выбралось ничего ?
Sergey13 (2007-01-19 16:48:00) [13]> [6] mmip © (19.01.07 16:28)
Параметр в списке параметров у квери1 в дизайнере появляется? Какого типа?
mmip (2007-01-19 16:28:00) [14]Table2.first;
for i:=1 to Table2.recordcount do begin
Ts:= Table2.FieldValues['TypeDescr'];
SD:= Table2.FieldValues['SubDescr'];
seq:= Table2.FieldValues['Seq'];
Val:= Table2.FieldValues['Value'];
// íàõîäèì âñå çàïèñè äëÿ òåêóùåé ôîðìû
Query1.close;
Query1.Prepare;
Query1.Params[0].Value:=sd;
query1.open;
for j:=1 to maxj do begin
if FormN[j]=Sd then begin
sd:=sd+maxj;
inc(maxj);// êîëè÷åñòâî ôîðì
end;
end;
Query1.First;
kol:= Query1.RecordCount ;
for k:=1 to kol do begin
Table1.Insert;
Table1.FieldByName('TypeDescr').Value:=Query1.FieldByName('TypeDescr').Value;
Table1.FieldByName('SubDescr').Value:=sd;
Table1.FieldByName('Seq').Value:=query1.FieldByName('Seq').Value;
Table1.FieldByName('Value').Value:=Table1.FieldByName('Value').Value;
Table1.Post;
Query1.Next;
end;
Игорь Шевченко (2007-01-19 16:24:00) [15]
> Я же и говорю, сил уже нет, как глюк какой-то
Тогда больше кода в студию
mmip (2007-01-19 16:17:00) [16]Пробовал
Я же и говорю, сил уже нет, как глюк какой-то
Игорь Шевченко (2007-01-19 16:13:00) [17]А вместо ExecSql Open не пробовал ?
mmip (2007-01-19 15:57:00) [18]Менял уже не помогает
Игорь Шевченко (2007-01-19 15:55:00) [19]
> Query1.Params[0].Value:=sd;
> Query1.Prepare;
строчки местами поменяй