ACCESS数据库,其中的一个表单中有一个RZRI(发证日期)的字段,此字段为“文本”,但其中保存的是一个日期格式的数据(如:2005-09-26 13:30:30)。在FORM中是通过一个DATETIMEPICK的DATETIME值对它进行付值的。
ADOQuery1.FieldValus['FZRQ'] := DateTimeToStr(DateTimePick.dateTime);
可是现在在做查询的时候,不知道对它怎么操作了?
说明:保存的数据必须为文本格式!
请高手指点呀!先谢谢了!
解决方案 »
- 每次运行程序都弹出那个 用户名 和 密码 验证的提示,如何消除啊?~~~~~~~~~~~~~~~~~~~~
- 在指定目录下查找文件的问题
- 请教如何取消TMaskEdit的对输入格式判断警告?
- 关于QREPORT3.6.2的一个问题
- 开发一个软件里面需要好多字库里面没有的字 (需要自己造大约2500多个)怎么实现好啊?
- 如何判断程序只有一个ADOConnection连接(用MSSQl200)?
- 高手救命!救命!怎样把adotable的所有值导入到一个空的clientdataset里面。给高分!!
- 函数非正常退出?像c的exit
- 局域网版的四国大战游戏
- 如何将一个窗体里各个控件的hint自动显示在Form的Caption里?
- 请问opendialog控件在哪里啊。我D7的
- 请问日期处理的做法,应该容易
s:=datetimetostr(strtodatetime(s));select FZRQ from table where FZRQ=s
sql.clear;
tempstr:='select * from wxxxtb where 日期=:temp1';
SQL.Add(tempstr);
Parameters.ParamByName('temp1').Value:=FormatDateTime('yyyy-mm-dd',DateTimePicker1.DateTime);
Open;
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
参照////
insert into table (...,RZRI,...)values(..., +'''formatdatetime('yyyy-mm-dd',DateTimePicker1.datetime)'''+ ,...)查询:
select * from table where RZRI<='''+formatdatetime('yyyy-mm-dd',DateTimePicker1.datetime)+'''
text1 :='select barcode from Final_main where date_time=:Sdate';
SQL.Add(text1);
Parameters[0].Value :=DateTimeToStr(DateTimePicker_Sdate_F.DateTime);
Open;
现在关键的问题是,在数据库表中保存的“FZRQ”的数据是文本形式的,string
但我现在要实现的查询是: date1 <= FZRQ <= date2(说明意思用表达式),其中date1,date2为DATETIME形。
不知道怎么做了!
select barcode from Final_main where FZRQ between date1 and date2;
ADODataSet1.CommandText:='Select * from 表名 Where FZRQ Between '+Quotedstr(DateTimePick1.Text)+' and '+Quotedstr(DateTimePick2.Text);
ADODataSet1.Open;
以上为查询日期等于DateTimePick.DateTime的数据ADOQuery1.SQL.Add('SELECT * FROM 表 WHERE DATEVALUE(FZRQ) BETWEEN #'+DateTimeToStr(DateTimePick1.DateTime)+'# AND #'+DateTimeToStr(DateTimePick2.DateTime)+'#');
查询日期在DateTimePick1和DateTimePick2之间的数据反正核心有二
1、通过DATEVALUE函数将ACCESS的字符日期转换为日期进行查询
2、ACCESS的日期通过##包括字符表示日期,SQL语句也这么传递以上只能用于ACCESS数据库,SQL SERVER数据库反而简单
ADOQuery1.Close;
ADOQuery1.SQL.Add('select * from tb1 where Tdate=:v1');
//ADOQuery1.Parameters.ParamByName('v1').value:=FormatdateTime('yyyy-mm-dd',strtodate(Edit1.text));
ADOQuery1.Parameters.ParamByName('v1').value:=FormatdateTime('yyyy-mm-dd',DateTimePicker1.date);
ADOQuery1.Prepared;
ADOQuery1.Open;