dim rs as ado.recordset set datagrid.datasource = rs 就可以了
用ADO控件也可以,不要给它设属性 dim cn as adodb.connection dim rs as new adodb.recordset cn.open "......" rs=cn.Execute("select ....") Set Adodc1.Recordset = rs
用ADO的话,工程引用要添加ADO库 vb6.0
to 小石头:你的"dim rs as ado.recordset "是否应为"dim rs as adodb.recordset ".另外:在改用ADO代码"set datagrid.datasource = rs"后,如果要压缩数据库,是否不必作任何处理就可进行?还是说也要把该rs关闭才能压缩?如要关闭,又如何关闭rs呢?谢各位!
2、我在运行此程序时,并没有打开ACCESS;前面好几位朋友都提到:运行压缩与拷贝前要先关闭数据库,我猜测也是这个理,可是要怎样才能
关闭它呢?
(我的工程一运行,就通过ADO控件与DATAGRID控件把数据库的表显示在窗体上了。而且我又很想把"压缩与拷贝"的功能和访问数据库的其他功能做在同一个程序中。)
connection.close
set connection =nothing
我想应该在你点击开始压缩的控件事件中用这条语句
to siyuan79: 请看我9月3日的留言。
Kill "New.mdb"DBEngine.CompactDatabase "Current.mdb", _
"New.mdb", dbLangKoreanFileCopy "New.mdb","Current.mdb"
Kill "New.mdb"
to crystal2000:请问该.LDB文件是什么文件?在哪个目录中?
不过,我本人还是觉得问题的关键在于要断开ADO控件与数据库的联系!
我想还是用代码来代替控件吧!!便于管理!呵呵(偷懒)
我再帮你找找
用控件做数据库开发看似很容易,而且可以少写很多代码,可是也带来很多弊病,我个人的观点是不用控件,这样上面的问题也就很好解决了。因为程序一旦运行起来,控件就与数据库关联并在后台操作。
建议ADO控件的所有属性(特别是关联数据库)在程序中动态设定,只有在对数据库操作时才关联,用完后取消,这样也许能行
还有,我用VB操作数据库一般采用这样的原则:
用数据库对象,不用控件
每次打开结果集都是只读和只向前的
所有对数据库的操作都用动作查询来实现
谢谢!
set datagrid.datasource = rs
就可以了
dim cn as adodb.connection
dim rs as new adodb.recordset
cn.open "......"
rs=cn.Execute("select ....")
Set Adodc1.Recordset = rs
1、按小石头的用Set DataGrid1.DataSource = rs语句的话,运行时会出错,系统提示
"行集合不能作为标签"
2、按沧浪客的用Set Adodc1.Recordset = rs语句的话,运行时能看到ADO控件变亮,
说明其连到数据库上了,但刷新ADO与DATAGRID两控件后,DATAGRID上仍没有数据。总之,上述两种方法好象都不能让网格中显示出数据来。
请各位指点原因或其他方法。多谢!!!