数据查询中遇到的问题

dreamcastcn 2003-03-30 09:34:52
我编写了一个数据库查询程序,基本原理是先定义一个 adodb.recordset 实例,在打开数据库时用 sql 语句取出符合条件的记录,显示在一个窗体上.
但问题来了,因为数据源中的字段有些是数值型,有些是字符型,而我的查询条件是通过两个文本框输入的,数据查询时语句稍有不同:
1.数值型字段查询:
rs.open "select * from db where " & text1.text & "=" &_
text2.text,"dsn=db"

2.字符型字段查询:
rs.open "select * from db where " & text1.text & "= '" &
text2.text & "'","dsn=db"

两者的差别就在一对 '' 上,但是我又不想让程序变得更复杂,请教高人,可有好办法能两者
兼顾?
新手上路,问题多多,请不吝赐教!
...全文
14 点赞 收藏 5
写回复
5 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
dreamcastcn 2003-04-01
我试过了,那个 sn(text1.text).Type 不行,显示类型是用 sn.fields.type ,现在我将问题简化,就是如何能从一个用 adodb 打开的 access 表中取得各个字段的类型值,是否清楚一些呢?
回复
CityhunterID 2003-03-31
up
回复
chenyu5188 2003-03-31
哈哈

zsgzsgzsg(zsg) 老兄写的这个比较好,楼主你可以用用。

UP
回复
呵呵!!精点!!
回复
zsgzsgzsg 2003-03-30
Dim sn As New ADODB.Recordset
sn.Open "select * from db where 条件", cn '随便写一个条件,目的是sn不要打开太多的记录,影响速度
Select Case sn(text1.text).Type
Case adChar, adBSTR
rs.open "select * from db where " & text1.text & "= '" &text2.text & "'","dsn=db"
Case adBigInt, adBoolean, adCurrency, adDecimal, adDouble, adInteger, adNumeric, adSingle, adSmallInt, adTinyInt
rs.open "select * from db where " & text1.text & "=" &text2.text,"dsn=db"
End Select
sn.close
回复
相关推荐
发帖

1187

社区成员

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