我想将数据库表列分配给vb6中的记录集。我想用另一个记录集中的值更新它们。有可能吗?
如何将表中的数据分配给记录集?
ADODB记录集不是数据库表的镜像。记录集包含基于提供给它的查询所需的任何内容。因此,要将数据从数据库加载到记录集中,您需要执行查询。这可以通过两种方式完成。
ADODB.Connection.Execute
方法并将记录集设置为结果。Dim con as New ADODB.Connection
Dim rs as ADODB.Recordset
con.ConnectionString = "some connection string"
con.Open
Set rs = con.Execute("SELECT * FROM table")
ADODB.Recordset
对象,指定连接,然后调用Open方法,向其传递查询。Dim con as New ADODB.Connection
Dim rs as New ADODB.Recordset
con.ConnectionString = "some connection string"
con.Open
Set rs.ActiveConnection = con
rs.Open "SELECT * FROM table"
查询可以根据需要简单或复杂。该查询可能要求多个表中的字段,并且记录集仍将包含查询的结果,但是您将无法分辨这些字段来自哪个表。
一个预制的ADODB Recordset对象是一个很好的容器对象,因为它内置了一些很棒的方法:Filter
,Sort
,GetRows
,GetString
,Clone
等,以及对分页和序列化为XML的支持等等。有关详细信息,请参见this MSDN article中的“将字段添加到记录集”。
但是,如果要使用数据库数据,为什么不执行查询呢?