| 网站首页 | 业界新闻 | 群组 | 人才 | 下载频道 | 博客 | 代码贴 | 编程论坛
共有 1079 人关注过本帖
标题:SQL如何用日期变量作为查询条件的语句?
只看楼主 收藏
chunqiuhe66
Rank: 1
等 级:新手上路
帖 子:27
专家分:0
注 册:2017-10-24
结帖率:100%
  问题点数:0  回复次数:6   
SQL如何用日期变量作为查询条件的语句?
程序中使用日期变量dt1 和 dt2获取DTPicker1.Value和 DTPicker2.Value,然后用这两个日期变量作为条件where 的参数对表中时间段查询记录。
但运行后,指出'" # dt1 # "' and '"# dt2 # "'语句错误,请教老师指教。
Dim dt1 As Date
Dim dt2 As Date
dt1 = DTPicker1.Value
dt2 = DTPicker2.Value
strselect1 = "SELECT 顾客姓名,费用 FROM 流水记录 where 日期 between '" # dt1 # "' and '"# dt2 # "'"

注明:我的数据库时access,上述语句where 日期 between '" # dt1 # "' and '"# dt2 # "'中的变量dt1,dt2如果换成具体的日期,比如2018/2/1,则运行成功,但是带入此变量就语法错误

[此贴子已经被作者于2018-2-1 10:25编辑过]

2018-01-31 23:13
xiangyue0510
Rank: 14Rank: 14Rank: 14Rank: 14
等 级:贵宾
威 望:85
帖 子:908
专家分:5207
注 册:2015-8-10
  得分:0 
见示例:SELECT * FROM 表明 WHERE 日期字段名 BETWEEN CONVERT(datetime,'2013-01-01',120) AND CONVERT(datetime,'2013-01-30',120)
你的字符串连接符是#?
2018-02-01 09:37
chunqiuhe66
Rank: 1
等 级:新手上路
帖 子:27
专家分:0
注 册:2017-10-24
  得分:0 
回复 2楼 xiangyue0510
回复版主,access中用#,不是用+。 我需要用日期变量dt1,dt2 获取DTpicker选择的日期,然后在WHERE条件中用这两个变量查询记录

[此贴子已经被作者于2018-2-1 11:08编辑过]

2018-02-01 11:04
ictest
Rank: 2
等 级:论坛游民
帖 子:214
专家分:77
注 册:2010-2-17
  得分:0 
举个例子,不知能否帮助到你。
Dim tj As String
Dim strSql As String
tj = "卡洛修斯"
strSql = "Select * from 表1 where 名字叫='" & tj & "'"

或者这个:

sql语句中如何引用vb中的日期型变量

: 我想实现查询今日的记录
: 用data1.recordsource="select * from 表1 where 日期 between #99-3-28# a
: nd #99-3-29#"
: 可以实现
:    .......

把日期型变量转换成字符串不就得了:
sqlstatment="Select * From table1 where field1 between #" & cstring(va
rDate1) & "#" "and #" & cstring(varDate2) & "#"
data1.recordsource=sqlstatment
2018-02-01 13:48
ictest
Rank: 2
等 级:论坛游民
帖 子:214
专家分:77
注 册:2010-2-17
  得分:0 
如果你的数据库为access就用:
strsql = "select * from invoice where qtime between #" & dtpicker1.Value & "# and #" & dtpicker2.Value & "#"
adodc1.RecordSource = strsql
adodc1.Refresh

数据库为SQL Server:
strsql = "select * from invoice where qtime between '" & dtpicker1.Value & "' and '" & dtpicker2.Value & "'"
adodc1.RecordSource = strsql
adodc1.Refresh
2018-02-01 13:50
xiangyue0510
Rank: 14Rank: 14Rank: 14Rank: 14
等 级:贵宾
威 望:85
帖 子:908
专家分:5207
注 册:2015-8-10
  得分:0 
回复 3楼 chunqiuhe66
那你的语句是VB么? 你自己看这个语句VB认不认?
2018-02-01 13:56
chunqiuhe66
Rank: 1
等 级:新手上路
帖 子:27
专家分:0
注 册:2017-10-24
  得分:0 
回复 5楼 ictest
按照您给的方法运行成功了!是直接带入DTPicker.Value作为查询条件。同时也可以把日期变量dt1,2替换DTPicker.Value。太好了。就是格式的问题。
2018-02-01 14:39







关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.119508 second(s), 8 queries.
Copyright©2004-2018, BCCN.NET, All Rights Reserved