Вниз
Скачать: CL | DM;

Что неправильно в запросе?   Найти похожие ветки 

← →
dera   (2006-04-14 18:44) [0]

Query1.ParamByName("_initcost").AsFloat:=strtofloat(Edit1.Text);
Query1.Close;
Query1.SQL.Text:="INSERT INTO inom(id,initcost) VALUES ("+Edit2.Text+", "+:_initcost+")";
Query1.ExecSQL;


← →
Desdechado ©   (2006-04-14 18:49) [1]

1. параметры присваивают ПОСЛЕ указания текста запроса, т.к. при указании текста список параметров автоматически перестраивается
2. параметр должен быть вписан в текст запроса, а не плюсоваться как строка
Query1.SQL.Text:="INSERT INTO inom(initcost) VALUES (:_initcost)";


← →
dera   (2006-04-14 18:55) [2]

>2. параметр должен быть вписан в текст запроса, а не плюсоваться как строка
получается, нельзя использовать в одном запросе и с параметрами и без? Т.е. надо писать так?
Query1.Close;
Query1.SQL.Text:="INSERT INTO inom(id,initcost) VALUES (:id,:_initcost)";
Query1.ParamByName("_initcost").AsFloat:=strtofloat(Edit1.Text);
Query1.ParamByName("_id").AsFloat:=strtofloat(Edit2.Text);
Query1.ExecSQL;


← →
ЮЮ ©   (2006-04-17 03:59) [3]


> получается, нельзя использовать в одном запросе и с параметрами
> и без?


Можно, но > параметр должен быть вписан в текст запроса

Query1.SQL.Text:=
 "INSERT INTO inom(id,initcost) VALUES (" + Edit2.Text+ ", :_initcost)";
а у тебяQuery1.SQL.Text:="INSERT INTO inom(id,initcost) VALUES ("+Edit2.Text+", "+:_initcost+")";

Такое даже компиляцию не пройдет.


> Т.е. надо писать так?

Так гораздо лучше.



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

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



Память: 0.45 MB
Время: 0.023 c
15-1145135870
Std
2006-04-16 01:17
2006.05.07
TregExpr


9-1129465753
!Trinix
2005-10-16 16:29
2006.05.07
Нужны кости


8-1134255414
Jrek
2005-12-11 01:56
2006.05.07
stream или channels


1-1143653083
Kolan
2006-03-29 21:24
2006.05.07
Проектирование взаимодействия плагина с программой


15-1145028356
Kart S.
2006-04-14 19:25
2006.05.07
TEditWindow (Кто помнит Turbo Vision?)




   Наверх