| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1749 人关注过本帖
标题:vb新手 求各位帮忙看看代码
只看楼主 加入收藏
Mithril
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2016-5-17
结帖率:0
收藏
已结贴  问题点数:20 回复次数:5 
vb新手 求各位帮忙看看代码
代码如下:
Private Sub Command2_Click(Index As Integer)
Dim i As Integer, r As Integer
Dim colList As New Collection
Dim strSQL As String
Dim conn As New ADODB.Connection
Dim RS As New ADODB.Recordset
Dim db As String
db = "Provider=Microsoft.Jet.OLEDB.4.0;Persist Security Info=False;Data Source=" & App.Path & "\tuimag.mdb"
conn.Open db
On Error Resume Next 'Collection 添加重复的关键字(Key)会触发457错误,下面利用该错误避免重复数字

n = InputBox("输入n值")
If n > 45 Then Exit Sub

Randomize (Time)

Do Until n < 0
r = Int(Rnd * 45) + 1
colList.Add r, "a" & r '关键字只能是字符开头,所以加了个"a"
If Err.Number = 457 Then
Err.Clear '清空错误,本次获取数字失效
Else
n = n - 1 '没有错误,说明添加成功,这里要避免其他错误
End If
Loop
'构造查询字符串,将生成的数字组成列表
strSQL = "("
For i = 1 To colList.Count
strSQL = strSQL & colList(i) & ","
Next
Mid(strSQL, Len(strSQL), 1) = ")"
Text2.Text = strSQL
strSQL = "select * from stukq_math where StuNum in" & strSQL
'从数据库获取数据,只获取指定 stuNum 的记录,Conn 是 connection 对象,已经打开对应的数据库
RS.CursorLocation = adUseClient
RS.Open strSQL, conn, adOpenForwardOnly, adLockReadOnly, adCmdText
Set DataGrid1.DataSource = RS
DataGrid1.Refresh
End Sub
大致就是先产生n个1-45间的随机不重复随机整数,然后利用datagrid控件输出所有stu表中stuNum等于那些随机数的数据。
随机数产生是没有问题的,但datagrid始终显示不了数据。。。各位帮忙改下。感激不尽
搜索更多相关主题的帖子: 关键字 False 
2016-05-17 21:30
焚心劫
Rank: 1
来 自:甘肃庆阳
等 级:新手上路
威 望:1
帖 子:6
专家分:9
注 册:2016-5-16
收藏
得分:7 
给datagrid加一个自动检测数据
2016-05-18 09:18
xiangyue0510
Rank: 14Rank: 14Rank: 14Rank: 14
等 级:贵宾
威 望:86
帖 子:938
专家分:5244
注 册:2015-8-10
收藏
得分:7 
代码有点多,粗看下来没有发现问题。怀疑是查询出问题了。因为On Error Resume Next,不会报错
建议做如下调试:
给conn、RS、strSQL……添加监视
给Set DataGrid1.DataSource = RS加一个断点,执行到这一句停下的时候依次看一下conn、RS(这个点它前面的+,可以展开能看到不少信息)、strSQL。
如果conn正常、RS的记录数也有,那就是strSQL有问题了,把这个语句的值拷贝到数据库中执行
2016-05-18 11:02
Mithril
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2016-5-17
收藏
得分:0 
回复 3楼 xiangyue0510
注释掉on error resume next 后提示标准表达式数据类型不匹配

后来发现原来在建表的时候stunum列数据类型设置错误了,改过来就能正常显示了。
非常感谢你们的解答。。
2016-05-18 11:48
xiangyue0510
Rank: 14Rank: 14Rank: 14Rank: 14
等 级:贵宾
威 望:86
帖 子:938
专家分:5244
注 册:2015-8-10
收藏
得分:0 
回复 4楼 Mithril
恭喜你。以后遇到问题也是可以这么去调试,虽然VB大部分情况会弹窗错误原因,但是不能很准
2016-05-18 13:50
hjxlj
Rank: 10Rank: 10Rank: 10
来 自:江西
等 级:贵宾
威 望:14
帖 子:292
专家分:1519
注 册:2013-6-25
收藏
得分:7 
楼主,既然问题解决了,还请结帖。

本人QQ:775420425
2016-05-22 11:29
快速回复:vb新手 求各位帮忙看看代码
数据加载中...
 
   



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

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