如题,查询语句参数应该怎么写啊?
给参数赋值 怎么弄啊?with Query do begin
tempParam=parameters.addparameter;
tempParam.name='@begindate';
tempParam.DataType:=ftDateTime;
tempParam.Direction:=pdInput; tempParam.Value:=st;
strcondition=strcondition+' and begindate=@begindate';
endstrsql=strSelect+strConditon+strGroup+strOder;query.sql=strsql;query.open;//此处出错
给参数赋值 怎么弄啊?with Query do begin
tempParam=parameters.addparameter;
tempParam.name='@begindate';
tempParam.DataType:=ftDateTime;
tempParam.Direction:=pdInput; tempParam.Value:=st;
strcondition=strcondition+' and begindate=@begindate';
endstrsql=strSelect+strConditon+strGroup+strOder;query.sql=strsql;query.open;//此处出错
解决方案 »
- 新手报到顺便求教
- 【求助】D2009下,ansistring的问题
- pos软件,如何做到服务器数据库和前台数据库的数据同步???????
- 我因工作要求,要做一个类似防火墙的程序,要求只充许指定的网址访问.其它不行.请问应点做呀.请指教
- DBGrid的显示问题!
- 票据(如提货单这样的)页面是A4,B5,或者其它?
- cmd.CommandText:='drop database :dbName';出错,生成的sql不能执行。
- 有没有人用delphi和indy9做过断点续传的程序?
- 如何移动Form上的一个Label,马上结贴
- 这句SQL怎么写?
- delphi2007:一个程序如何控制两个摄像头
- 求教,怎样重新编译indy这个组件?
begin
bjqry.Close;
bjqry.SQL.Clear;
bjqry.SQL.Add('select user_id,user_name,user_flag from hs_user where user_id=:uname);
bjqry.Parameters.ParamByName('uname').Value:='李四';
bjqry.Open;
end;
数据库是ms sql server
另外,在给sql属性赋值时,原先的参数就清空了,有办法不清空这些参数吗?
谢谢!
bjqry.Parameters.ParamByName('uname').Value:=QuotedStr('李四');
GetDateParams;//得到时间条件 DMForm.aq4.SQL.Clear;
// DMForm.aq4.ParamCheck:=false;
DMForm.aq4.Parameters.Clear;
FillSqlParams; //此处根据条件添加了一些参数,方法和下面相同// DMForm.aq4.SQL.Add(strCondition);
// DMForm.aq4.SQL.Add(strGroup); strRowNum:='select row_number() over('+strOrder+') as id,';
if requireHis then begin //如果报表可能要查询历史数据
if IsSearHis(st) then begin //需要查询历史数据
s_sql:=strRowNum+'* from ('+strSql+' '+strCondition+' '+strGroup +' union '+ strSqlHis
+' '+strCondition+' '+strGroup+') as tab';
end else begin //不需要查询历史数据
strsql:=StuffString(strsql,0,7,strRowNum);
s_sql:=strSql+' '+strCondition+' '+strGroup;
end;
end else begin //报表不查询历史数据 ,和需要查询历史数据时,条件不需要到历史数据中查找一样的语句和处理
strsql:=StuffString(strsql,0,7,strRowNum);
s_sql:=strSql+' '+strCondition+' '+strGroup;
end ; try DMForm.aq4.ParamCheck:=false;
DMForm.aq4.SQL.Add(s_sql);
with DMForm.aq4.Parameters do begin
tempParam:=AddParameter;
tempParam.Name:='startdate';
tempParam.DataType:=ftDateTime;
tempParam.Direction:=pdInput; tempParam.Value:=st;
tempParam:=AddParameter;
tempParam.Name:='enddate';
tempParam.DataType:= ftDateTime;
tempParam.Direction:=pdInput;
tempParam.Value:=ed; end;
if not DMForm.aq4.Connection.Connected then
DMForm.aq4.Connection.Connected:=true; // DMForm.aq4.Prepared:=true;
DMForm.aq4.Open
把你的代码贴出来~~可以不清空,
with bjqry do
begin
bjqry.Close;
bjqry.SQL.Add('select user_id,user_name,user_flag from hs_user where user_id=:uname);
bjqry.SQL.Add(' and user_id=:u_id');
bjqry.Parameters.ParamByName('uname').Value:='李四';
bjqry.Parameters.ParamByName('u_id').Value:=01;
bjqry.Open;
end;
在用@和?及:上试了半天,郁闷!
showmessage(strsql);
query.open;//此处出错 看看你的SQL语句是什么地方出问题了
知道怎么用就好了,结帖。