大家好!
我用的是access数据库,由ado连接到DataGrit,数据在DataGrit中显示,我现在想将数据用排序,怎么做啊?
我这样写不行啊
sSOL = "select * from 学生信息汇总 order by 学号 desc"
Set rs = cn.Execute(sSOL)
还有一个问题,为什么一用update,就提示sub or function not defined 啊. 还有不用updata,用ado自带的更新命令怎么写啊,是像这样Adodc1.reflesh 吗? 刚接触VB,SQL语句也不熟,请大家帮忙,谢谢!
我用的是access数据库,由ado连接到DataGrit,数据在DataGrit中显示,我现在想将数据用排序,怎么做啊?
我这样写不行啊
sSOL = "select * from 学生信息汇总 order by 学号 desc"
Set rs = cn.Execute(sSOL)
还有一个问题,为什么一用update,就提示sub or function not defined 啊. 还有不用updata,用ado自带的更新命令怎么写啊,是像这样Adodc1.reflesh 吗? 刚接触VB,SQL语句也不熟,请大家帮忙,谢谢!
解决方案 »
- vb中的字符处理。
- 水晶报表问题,在线等!!!
- 文件加密的证书管理问题
- 天,问个最简单的定义问题,2唯数组怎么定义的?
- 高手来帮下忙 我小白一个 刚刚用VB 还啥都不怎么懂 尤其是代码
- 请问如何用inet实现http协议的文件上传和下载,最好给出实例代码,验证通过后在线结分
- 如何在VB中利用代码实现IE窗口的最小化?
- 请问运行程序提示“编译错误”找不到工程或库“如何解决
- 请问下面一段程序有什么错误,帮忙看一下
- 谁会用vb抓包的?
- 局域网客户端0.5秒钟刷新一次服务器数据库是否可行?以便及时得到服务器中的新数据并显示在客户端自己的界面上。客户端一共有15个,数据库中的记录2万条左右。
- VB中关于访问权限的问题
学号 姓名 性别 年龄 班级 英语 程序设计
2 .........................
4 ...................................
5...........
6...........
1.........
3..........
现在想让其按学号排列,,我看了一下,再数据库中的表"学生信息汇总"也是乱序,和DataGrid3中显示一样
我用单独的SQL语句 select * from 学生信息汇总 order by 学号 desc
可以实现排序,单为什么在程序里就不行呢?
sSOL = "select * from 学生信息汇总 order by 学号 desc"
Set rs = cn.Execute(sSOL) 是不行。你这样写得到是行集合。 sSOL = "select * from 学生信息汇总 order by 学号 desc"
rs.Open sSOL, cn, 3, 3
Set DataGrid1.DataSource = rs
这一句中后面的"3,3"是什么作用啊在数据库中表里的数据是按顺序排列的
通过ado连接的DataGrid上就是上面的样子?怎么会这样呢? 我是这样写的:
sSOL = "select * from 学生信息汇总 order by 学号 desc"
rs.Open sSOL, cn, 3, 3
Set DataGrid3.DataSource = rs
DataGrid3.Refresh
不加DataGrid3.Refresh这句,没有任何反映,加上后,DataGrid中的数据就便为空了
数据库中表里的数据不变 不知为什么,现在表中的数据不能反映到DataGrid中了
Set DataGrid3.DataSource = rs 两行即可刷新DataGrid(Refresh)
Set DataGrid3.DataSource = rs 我把它们放到了Private Sub Form_Load()里,DataGrid3里的数据清空了
但ado里的数据映射不到Datagrid3里啊再把Set DataGrid3.DataSource = Nothing 注释掉
DataGrid3中又显示原来的乱序数据了为什么通过ado数据库中的数据映射不到DataGrid3中了呢?还有 rs.Open sSOL, cn, 3, 3
这一句什么用啊?
这一句中后面的"3,3"是什么作用啊?
第一个是锁的类型
第二个是说你用的是SQL查询,而不是使用表或存储过程,也就是相当于AdCmdText
'添加 DataGrid1Option Explicit
Public conn As New ADODB.Connection
Public rs As New ADODB.Recordset
Dim db$, Appdisk$, sSQL$
Private Sub Form_Load()
Appdisk = IIf(Right(Appdisk, 1) = "\", App.Path, App.Path & "\")
db = "Provider=Microsoft.Jet.OLEDB.4.0;Persist Security Info=False;Data Source=" & Appdisk & "你的数据库名.mdb"
conn.CursorLocation = adUseClient '这行必需加上
conn.Open db
sSQL = "select * from 学生信息汇总 order by 学号 desc"
rs.Open sSQL, conn, adOpenKeyset, adLockPessimistic
'rs.Open sSOL, cn, 3, 3 这行与上面的是一样的
Set DataGrid1.DataSource = rs
End Sub
谢谢Sam Liu
也谢谢of123和泰山_抛砖引玉不过小弟还有几处不明白
'工程引用Microsoft ActiveX Data Objects 2.5 Library Option Explicit
...........Private Sub Form_Load()
Appdisk = IIf(Right(Appdisk, 1) = "\", App.Path, App.Path & "\")
..............
conn.CursorLocation = adUseClient '这行必需加上
................
rs.Open sSQL, conn, adOpenKeyset, adLockPessimistic
'rs.Open sSOL, cn, 3, 3 这行与上面的是一样的
...........
End Sub 就这几句,什么作用?泰山说
3,3是常数
第一个是锁的类型
第二个是说你用的是SQL查询,而不是使用表或存储过程,也就是相当于AdCmdText什么是锁?有什么用?
我用了SQL,那么AdCmdText就是指adodc控件的commandType吧,我设置时选的是2-adCmdTable,
recordSourse选的是表名.在这里和 rs.Open sSQL, conn, adOpenKeyset, adLockPessimistic
'rs.Open sSOL, cn, 3, 3 这些语句有冲突吗?
DataGrid里的数据就是乱序,是什么引起的呢?
DataGrid通过adodc与Access数据库相连之前顺序是正确地,我删除了其中两条记录,之后又加上了
加上的数据就排在原来数据后面显示在DataGrid中了,但我看表里的数据仍是正常顺序啊是什么原因使DataGrid中的数据乱序了呢?是因为我删除后又添加吗?