date 如果是日期形式如011211该定义为何种类型,sql语句该如何写?(20分)

  • 主题发起人 主题发起人 jedilee
  • 开始时间 开始时间
J

jedilee

Unregistered / Unconfirmed
GUEST, unregistred user!
我想利用变量来查询库,date 如果是日期形式如 011211 该定义为何种类型,sql语句该如何写?得到的值赋给value ,可如下执行后,value为0,sql中引号和加号的使用如何实现?请指教!
var
Date:string;
begin
date:=Edit1.Text;
with Query1 do
begin
close;
SQL.Clear;
SQL.Add('select count(*) from fsdxx where rq='''+date+'''' );
Open;
value:=Fields[0].AsInteger;
End;


 
代码中的date如果字符串形式的,就用你的句子
如果是日期型的,需要转换成字符串形式都能使用你的句子,FormatDateTime('yymmdd',日期)
还可以使用参数,那就不需要转换了
 
谢谢!
库中的存储格式为011201,查询是输入的也是yymmdd,和前面一样,用上面的句子得到的
结果为0,不知为何?
 
把库字段的结构和代码中的结构做成一样,在代码中可再用函数和参数进行转换,你的RQ也是
STRING型的吗?
 
先确定你的数据库中是否有符合条件的数据,你的结果等于0标是数据库中查询结果为0,
你的sql语句并没有错误。
另外,数据库中该字段的类型是字符串还是日期,如果的是日期这样写就不对了。
还有用count最好再定义个字段名,例如
'select count(*) as num from fsdxx where rq='''+date+''''
 
接受大家的意见,我的sql server库中有着符合条件的纪录,是varchar 型 ,可问题还是没解决
 
问题解决了,我来散分,谢谢大家
 
多人接受答案了。
 
后退
顶部