select * from customer where 是否投保人='''+flag1+''' and 是否被保险人='''+flag2+''' and 是否受益人='''+flag3+''' and 出生日期 like ''%'+trim(RzEdit1.Text)+'%''其中flag1,flag2,flag3是我设的变量,代表3个复选框(对应的字段为boolean)的选中状态!这个绝对没有错!错在: 出生日期 like ''%'+trim(RzEdit1.Text)+'%'' 这个模糊查询!
其中 出生日期为datetime类型!
运行不报错! 但达不到查询的要求! 当我输入数据库里本来存在的一个日期时查不出这条记录! 那几个flag条件都是选对了的!
当我改成 cast(出生日期 as varchar) like ''%'+trim(RzEdit1.Text)+'%'' 也不行!!大家给我看下!!!
其中 出生日期为datetime类型!
运行不报错! 但达不到查询的要求! 当我输入数据库里本来存在的一个日期时查不出这条记录! 那几个flag条件都是选对了的!
当我改成 cast(出生日期 as varchar) like ''%'+trim(RzEdit1.Text)+'%'' 也不行!!大家给我看下!!!
解决方案 »
- delphi Idftp获取文件目录 怎么映射到TreeView或者TshellTreeView?
- 使用Delphi的dxFlowchart控件的TdxFcObject的shapetype
- 在线程中打开数据集出错!
- ShockwaveFlashObjects_TLB
- FastReport若某条记录的某字段太长,如何换行并让下一行下移?
- 高手帮忙解决这个问题,这段代码看不懂
- 失恋是什么滋味的?
- 请问在DBGRID中某一行得到焦点的事件在那里啊!
- 我用showwindow(另1个程序的application句柄,show_max...)为什么窗体无反映?
- 如何保存Delphi里页面设置?
- 请问。大家都用什么delphi开发平台?
- 根据控件名怎么快速找到控件?
用 < 和 > 时间段就行了
我迷糊查询是 因为有时候统计某年或某月的出生的人数!
我觉得主要是因为数据类型是datetime而查询的RzEdit1.Text是string 所以达不到要求!
出生日期 like cast(''%'+trim(RzEdit1.Text)+'%'' as datetime)
也不行!!!
我给出语句大家帮我改下!
sql.Add('select * from customer where 是否投保人='''+flag1+''' and 是否被保险人='''+flag2+''' and 是否受益人='''+flag3+''' and 出生日期 like cast(''%'+trim(RzEdit1.Text)+'%'' as datetime)');
你也可回答别人的提问,您的帐号上超过3元时,可以要求网站提现。