数据查询中遇到的问题

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"

两者的差别就在一对 '' 上,但是我又不想让程序变得更复杂,请教高人,可有好办法能两者
兼顾?
新手上路,问题多多,请不吝赐教!
...全文
76 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
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
myhot-河马吃草 2003-03-30
  • 打赏
  • 举报
回复
呵呵!!精点!!
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

1,217

社区成员

发帖
与我相关
我的任务
社区描述
VB 数据库(包含打印,安装,报表)
社区管理员
  • 数据库(包含打印,安装,报表)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧