vb 如何清除dataGrid已经显示的内容

来源:百度知道 编辑:UC知道 时间:2024/05/16 18:44:41
vb 是通过ado编程实现,然后set dataGrid.recordSource=rs
我是多个查询共用一个dataGrid,但是一个查询后转到另一个查询界面时,DataGrid保留有上次查询出来的数据,不知道怎么清除掉?
看了下MSDN,上面说object.ClearFields可以复位,但是用后好像没甚么反映,请VB高手指点!
根据retty85 的提供的答案,找到了清除DataGrid数据的可行方法:
Set DataGrid1.DataSource = Nothing
不过retty85 的提供的答案是set dataGrid.recordSource=nothing
,应该把recordSource改成DataSource
retty85的思路还是正确的

VB可使用Nothing
关键字用于取消某对象变量与实际对象的关联。使用 Set 语句将对象变量赋值为 Nothing。

例如:

Set MyObject = Nothing
多个对象变量可以引用同一个实际对象。当 Nothing 赋值给某对象变量后,此变量就不再引用任何实际对象。当多个对象变量引用同一个对象时,只有在所有对象变量都设置为 Nothing (在设置为Nothing的最后一个对象变量超出范围后,显式或隐式地使用 Set
命令)后,与变量所引用的对象相关联的内存和系统资源才被释放。

实现代码:

Option Explicit
    Dim cn As New ADODB.Connection '定义数据库的连接
    Dim rs As New ADODB.Recordset
    
Private Sub Command1_Click()
    Dim sql As String
    sql = "select * from jishijilu" '
    cn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\wd.mdb;Persist Security Info=False"
&nb