我觉得我发现了VB的Bug了,用数据库可以查出来,用VB就是查不出来??

zhoujiamurong 2005-04-02 11:26:18
环境Windows2000 VB6.0 Access2000,请按我的顺序来
1、
Access2000建一个数据库Datatask1,在里面建一张表,表名为"表1"
表中有三个字段 ID (自动编号) userid(数字) name (文本)
输入一条数据 1,1,重大 (第一个不用输入)
建一个查询,名字不限,内容 SELECT * FROM 表1 WHERE [userid]=1 and ([name] like '*大*');
2、
打开VB,建一个工程,在窗体中加一个文本框和一个按钮,加入ADO2.5引用,输入代码
Public TaskCon As New ADODB.Connection
Public TaskRct As ADODB.Recordset
Private Sub Command1_Click()
strSql = Text1.Text
Set TaskRct = New ADODB.Recordset
TaskRct.Open strSql, TaskCon

If TaskRct.BOF And TaskRct.BOF Then
MsgBox "没有记录"
End If
End Sub

Private Sub Form_Load()
TaskCon.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\DataTask1.mdb;Persist Security Info=False"
TaskCon.Open
End Sub
3、运行数据库查询,你可以查到一条记录,
4、运行VB,在文本框里粘入查询内容,点按钮,就是没记录


...全文
185 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
TakeCare123 2005-04-02
  • 打赏
  • 举报
回复
If TaskRct.BOF And TaskRct.BOF Then
MsgBox "没有记录"
End If
End Sub
看看这句有问题没?
zhoujiamurong 2005-04-02
  • 打赏
  • 举报
回复
不要自以为是,BS这种人
Gutta 2005-04-02
  • 打赏
  • 举报
回复
BUG?

哈哈
lgxysl 2005-04-02
  • 打赏
  • 举报
回复
access2000的sql语句的通配符与VB+ADO的sql的通配符是不同的,在access2000中,用“*”来表示,在VB中,用"%"表示。access2000和VB都没有问题,只是有一些地方不太一致而已。除此之外,access2000支持sn()函数来处理空值null,而VB则不支持,而须用isnull来判别。这有点像美国的英语和英国的英语有些地方互相不一致道理是一样的,你不能说美式英语错了,也不能说英式英语错了。
zhoujiamurong 2005-04-02
  • 打赏
  • 举报
回复
改查询:SELECT * FROM 表1 WHERE [userid]=1 and ([name] like '%大%')
这样VB可以了,可是数据库又不行了
chendjin 2005-04-02
  • 打赏
  • 举报
回复
添加:TaskCon.CursorLocation = adUseClient
改查询:SELECT * FROM 表1 WHERE [userid]=1 and ([name] like '%大%')
zhoujiamurong 2005-04-02
  • 打赏
  • 举报
回复
请大家试运行一下,拷过去就几分钟
zhoujiamurong 2005-04-02
  • 打赏
  • 举报
回复
我没拷分号
wynbfqny 2005-04-02
  • 打赏
  • 举报
回复
vb里面的sql语句跟acess里的不一样
你试下把分号取消试试
vanquoxf 2005-04-02
  • 打赏
  • 举报
回复
一声惊雷,原来有人....
基于VB6自主研发的轻量级数据库询客户端工具,启动速度较快,所占资源较小。 附源码,对初学数据库编程的童鞋有所裨益! 1、支持SQLServer、Oracle、Sybase、DB2数据库平台 2、单句执行:可以提交单一的SQL语句给服务器执行。 3、多句一次执行:可以将多个SQL语句用空格或换行的方式进行隔离,程序会一次性提交给数据库服务器执行。(前提条件是语法通过) 4、多句依次执行:可以将多个SQL语句用分号‘;’隔开,程序会逐句提交。 5、执行指定的SQL语句:可以在SQL编辑框中选中部分语句执行,在SQL命令框中通过鼠标连续单击3次可以选择当前行。 6、在事务中执行SQL语句:将执行按钮上方的Trans 框选中,那么程序对于每次提交的SQL语句都是放在事务中执行的,执行不成功程序会进行回滚操作。程序默认不进行事务处理,因为有些语句不能在事务中执行。 版本修订记录: V3.6.0 16:08 2012/6/18 --支持DB2数据库平台,要求客户端安装 DB2 Run-Time Client Lite。 --支持数据库名的记忆功能。 V3.5.11 14:36 2012-5-12 --支持连接非缺省端口号的SQL Server平台。 V3.5.10 8:54 2009/12/22 --将OUT标签更名为Output。 V3.5.9 10:48 2009/8/19 --修订Bug:在Vista或Win7系统下主界面部分被遮盖显示不全的问题。 V3.5.8 --修订Bug:执行的存储过程没有返回结果集,在导出Excel时出现运行时错误。 V3.5.7 --界面标题栏增加当前连接数据库信息。 --修订死循环Bug,死3次后退出执行。 --修订最末语句分号后面跟若干回车符执行死循环的Bug。 V3.5.6 --还是使用TextBox控件作为SQL命令的输入框,RichTextBox控件的滚动条功能不太好用; --使用字符算法实现了双击SQL命令框选中当前行的功能(TextBox控件本身不支持)。 --修订了窗体在Resize时的Bug。 V3.5.5 --使用RichTextBox控件代替原有的TextBox控件SQL命令输入框(支持双击选中整行功能)。 --使用‘;’和‘回车换行’符号联合作为SQL命令逐个提交的分割标志符。 V3.5.4 --修订SQL日志文件记录错误的Bug。 V3.5.3 --修订系统未安装任何打印机的情况下导出Excel失败的Bug(设置打印页面横向时失败)。 V3.5.2 --修订运行目录没有可写权限导致记录日志失败无法提交SQL语句的Bug。 V3.5.0 --新增记录SQL语句日志的功能。 V3.4.0 --新增导出询结果集到Excel文档的功能。 V3.3.4 --修改了窗体内部控件自动放缩的控制算法; --修改数据显示窗口支持滚轮鼠标的上下左右翻滚操作。 V3.3.0 --修改了连接ORACLE的连接字符串,要求客户端安装ODAC组件(OLEDB); --数据库下拉列表默认上次选择的数据项。 V2.0.0 --支持Sybase平台,要求客户端安装Sybase OLEDB组件; V1.0.0 --支持SQL Server平台,安装包中自带ADO组件。

7,763

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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