with GrafikStrGrid, GrafikRxQuery do begin
ParamByName('npp_g').asInteger := PlanNumber;
ParamByName('och_zch_fl').asBoolean := DM.och_zch_fl;
Open;
end;
Типы данных
Можно ли передавать через параметр из программы в SQL-запрос переменную типа boolean?
можно
with TQuery do
begin
close;
SQl.Clear;
Sql.Add('Select * From TableName Where Flag=:pFlag'); // pFlag - параметр в SQL- запросе
Prepared := true;
Parameters.ParamValues['pFlag'] := BoolVar; // Переменная программы - BoolVar
open;
end;[/highlight]
А можно ли проделать такое:
Код:
SQL:
Код:
declare @npp_g int, @och_zch_fl bit
set @npp_g = :npp_g
set @och_zch_fl=:och_zch_fl
if @och_zch_fl=1
begin
select kurs
from uch g
where g.npp_g=@npp_g
end
set @npp_g = :npp_g
set @och_zch_fl=:och_zch_fl
if @och_zch_fl=1
begin
select kurs
from uch g
where g.npp_g=@npp_g
end
правда SQL пишет, что параметр типа bool не выбран).... Спасибо...
Цитата: Mousenb
Что означает Prepared :=true? и Parameters? в вашем коде?
А можно ли проделать такое:(
with GrafikStrGrid, GrafikRxQuery do begin
ParamByName('npp_g').asInteger := PlanNumber;
ParamByName('och_zch_fl').asBoolean := DM.och_zch_fl;
Open;
end;
правда SQL пишет, что параметр типа bool не выбран).... Спасибо...
А можно ли проделать такое:(
with GrafikStrGrid, GrafikRxQuery do begin
ParamByName('npp_g').asInteger := PlanNumber;
ParamByName('och_zch_fl').asBoolean := DM.och_zch_fl;
Open;
end;
правда SQL пишет, что параметр типа bool не выбран).... Спасибо...
еще бы SQL код увидеть, да и оформить сообщение тэгами тоже не плохо бы
Parameters - это параметры :), используемые в SQL запросе.
Prepared:
Цитата:
Examine Prepared to determine if a query is already prepared for execution. If Prepared is true, the query is prepared, and if Prepared is false, the query is not prepared. While a query need not be prepared before execution, execution performance is enhanced if the query is prepared beforehand, particularly if it is a parameterized query that is executed more than once using the same parameter values.
нашел за 1 минуту в справке. это мог бы сделать и ты. :)
Готово...
[Error] Unit_uch.pas(2354): Undeclared identifier: 'Parameters'
Цитата: Washington
[highlight=delphi]
with TQuery do
begin
close;
SQl.Clear;
Sql.Add('Select * From TableName Where Flag=:pFlag'); // pFlag - параметр в SQL- запросе
Prepared := true;
Parameters.ParamValues['pFlag'] := BoolVar; // Переменная программы - BoolVar
open;
end;[/highlight]
with TQuery do
begin
close;
SQl.Clear;
Sql.Add('Select * From TableName Where Flag=:pFlag'); // pFlag - параметр в SQL- запросе
Prepared := true;
Parameters.ParamValues['pFlag'] := BoolVar; // Переменная программы - BoolVar
open;
end;[/highlight]
Тут наверно не Parameters, а Params... Спасибо за помощь...))
Ага, парамс. Просто я код взял от ADOQuery, а там параметерс. :)