ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('select * from 干部 where left(convert(char(10),任职时间,102),7)=:sj and 人事代码=2');
ADOQuery1.Parameters.ParamByName('sj').Value:=edit1.Text;
ADOQuery1.Open;我是用时间是如2002.12这种格式.
在查询时不能实现.
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('select * from 干部 where left(convert(char(10),任职时间,102),7)=:sj and 人事代码=2');
ADOQuery1.Parameters.ParamByName('sj').Value:=edit1.Text;
ADOQuery1.Open;我是用时间是如2002.12这种格式.
在查询时不能实现.
你直接可以定义2002-12-01到2002-12-31呢
用2002-12试试
还有是不是用102,仔细查看一下数据库的函数说明
如果存取的是MS-SQL,那么sql语句的时间必须加上单引号。
如果存取的是MS-ACCESS,那么sql语句的时间除了必须加上单引号外,还要加‘#’。
例如:
select * from YourDataBase where sj='2003-10' (MS-SQL)
select * from YourDataBase where sj='#2003-10#'(MS-ACCESS)