关于SQL语句在VB里使用的问题

karm 2003-04-01 07:54:05
Dim con As adodb.Connection

Dim rsc As adodb.Recordset



str1 = "select 日期 as 日期,入口产量 as 入口产量,出口产量 as 出口产量,本班末包装重量 as 末包重量,上班交班包装重量 as 交班重量,头尾板重量 as 头尾板重量,本班机组缺陷 as 本机组缺陷,缺陷封闭量 as 缺陷封闭量,缺陷放行量 as 缺陷放行量 from 生产情况 where 日期 between #" & CStr(CDate(md_firstdate.Text)) & "# and #" & CStr(CDate(md_enddate.Text)) & "# order by 日期 desc"
Set rsc = con.Execute(str1)

Set Grid.DataSource = rsc

查询时出错,只得出最近日期的数据.后把"order by 日期 desc"去掉只得出开始时间,程序都不报错,有谁能帮帮我?

...全文
12 点赞 收藏 8
写回复
8 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
karm 2003-04-02
谢谢大家,后来我自已解决了,原来发现我的DATEGRID没有设置标题,SQL语句没错,只是后面改为



Adodc1.RecordSource = str1

Set grid.DataSource = Adodc1

Adodc1.Refresh


嘻嘻,好了!!!
回复
rongyijizhu 2003-04-01
估计是在sql server中,可如下:
Dim con As adodb.Connection
Dim rsc As adodb.Recordset
str1 = "select 日期 as 日期,入口产量 as 入口产量,出口产量 as 出口产量,本班末包装重量 as 末包重量,上班交班包装重量 as 交班重量,头尾板重量 as 头尾板重量,本班机组缺陷 as 本机组缺陷,缺陷封闭量 as 缺陷封闭量,缺陷放行量 as 缺陷放行量 from 生产情况 where convert(char,日期,102) between & format(CStr(md_firstdate.Text),'yyyy.mm.dd') & " and " & format(CStr(md_enddate.Text),'yyyy.mm.dd') & " order by 日期 desc"
Set rsc = con.Execute(str1)
Set Grid.DataSource = rsc
回复
IwantFlay 2003-04-01
同意 xysophie
如果你的日期字段就一个char 或vachar 型.
干脆就用 日期>=CStr(CDate(md_firstdate.Text)) and 日期<CStr(CDate(md_enddate.Text))

介意楼主在使用char时的时候保存时用yyyymmdd格式,
回复
watt 2003-04-01
CStr(CDate(md_firstdate.Text)) -->format(md_firstdate.Text,"yyyy/mm/dd")
回复
饮水需思源 2003-04-01
日期条件的查询写法:
在access中:
str1=" select ... from ... where 日期=# " & 日期查询变量 & " # "
在SQL中:
str1=" select ... from ... where 日期='"& 日期查询变量 &"'"
回复
xysophie 2003-04-01
如果你的“日期”字段是datetime﹐可以這樣試試
str1 = "select 日期 as 日期,入口产量 as 入口产量,出口产量 as 出口产量,本班末包装重量 as 末包重量,上班交班包装重量 as 交班重量,头尾板重量 as 头尾板重量,本班机组缺陷 as 本机组缺陷,缺陷封闭量 as 缺陷封闭量,缺陷放行量 as 缺陷放行量 from 生产情况 where 日期 between #" & CDate(md_firstdate.Text) & "# and #" & CDate(md_enddate.Text) & "# order by convert(char(10),日期,111) desc"
回复
DimVar 2003-04-01
要知道具体情况才有较好的解决办法,所以下面这个方法不是效率最高的,但是稳妥的。
where convert(char(8),日期,112) between '" & format(md_firstdate.Text,"yyyyymmdd") & "' and '" & format(md_enddate.Text,"yyyymmdd") & "' order by convert(char(8),日期,112) desc"
回复
xayzmb 2003-04-01
能不能把程序运行时生成的STR1打出来看看。
回复
相关推荐
发帖

1187

社区成员

VB 数据库(包含打印,安装,报表)
申请成为版主
帖子事件
创建了帖子
2003-04-01 07:54
社区公告
暂无公告