关于ACC数据库查询时间范围!(已解决)
本帖最后由 ANTKD 于 2012-9-2 21:41 编辑各位兄弟请指教
数据库里面有这样的记录如下:
字段名:shijian
数据:2012-02-01 17:00:32
2012-05-04 12:05:11
2012-06-05 16:04:06
.........
我想查询2012-02-01至2012-05-04这段时间的数据,查询语句要怎样写呢??谢谢!!! 自己顶一下!!!有没有哪位兄弟做过的?告诉一下哦!!先谢谢啦! 回复 2# ANTKD
這樣的問題是很籠統的...你是要問SQL 語法還是 AU3怎麼寫.....
查詢語法 一般都是SELECT * FROM 數據表 WHERE 欄位名 >'2012-02-01' AND 欄位名 < '2012-05-04' 就是用AU3写出MDB数据库的查询语句!!
您的办法我先试试,谢谢! 刚试了一下,不行。
继续期待答案。查了好多资料,还是不能解决。 ACCESS 数据库日期 貌似是加#号。。。如#2012-01-01# AUTO 能举个例子么?谢谢!!
$addfld = ObjCreate("ADODB.Connection")
$RS = ObjCreate("ADODB.Recordset")
$addfld.Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & $mdb_data_path & ";Jet Oledb:Database Password=" & $mdb_data_pwd) ;连接数据库
$RS.ActiveConnection = $addfld
$RS.Open("Select * From dy where shijian like " & "'%" & $cx_time_1 & "%'");
GUICtrlSendMsg($ListView1, $LVM_DELETEALLITEMS, 0, 0)
While Not $RS.eof And Not $RS.bof
If @error = 1 Then ExitLoop
GUICtrlCreateListViewItem($RS.Fields(2).value & "|" & $RS.Fields(1).value & "|" & $RS.Fields(3).value, $ListView1)
$RS.movenext
WEnd
$RS.close
$addfld.Close
代码只查询一个时间的话,是正常可以显示要查询的数据的。但是时间范围就总是试不成功。。
继续顶!!!这个问题没解决,痛苦呀!!! like ?? 這是用模糊搜尋呀......
依照你上面的 把 第五行改成
$RS.Open("Select * From dy where shijian >= '"&$cx_time_1& "' AND shijian <= '"&$cx_time_2&"'");
這樣應該 可以 $cx_time_1 代表 2012-02-01
$cx_time_2 代表 2012-05-01 kk_lee69 您好。刚试了您的办法。没错误,但也不能查询到数据,显示为空!! 原来是我的代码有点问题。
现在可以查询到2012-05-01之前的数据,但是以2012-05-01为结尾的这个日期不能显示到!
这个之前的数据可以正常读取。包括起始日。 回复 11# ANTKD
數據的問題就無法幫你了....程式語法都是固定的...但是跟數據有牽扯 就還得考慮數據型態的問題....
有可能你當初存進去的數據型態有問題...所以會造成 某個時間點以前的都正常某個時間點以後的就不˙正常了 回复 11# ANTKD
建議解決問題的方向
1. 首先 先別管 AU3......
我看你的資料庫 應該是 ACCESS 的MDB
先在ACCESS 底下 下SQL 語法參數......先把SQL 語法搞定.....
只要你可以找出你要的資料...再將這個 語法套入到 AU3裡面.....這樣就可以了 回复 13# kk_lee69
谢谢这位兄弟的帮忙。现在可以读取其中一些数据,但作为结尾的时间的那天总是不能显示数据!
如果有其它兄弟跟我遇到过一样的问题的。请回复一下!多谢! 回复 14# ANTKD
请上完整的数据(MDB文件)和代码
页:
[1]
2