VB _ADODB 与datagrid的连接问题

来源:百度知道 编辑:UC知道 时间:2024/07/04 10:09:16
懂VB的朋友帮我看一下下面的CODE有什么问题

我的意图是要通过

Set DataGrid1.DataSource = rs

这条语句将ADODB与datagrid绑定在一起

但是我运行之后,datagrid 并没有显示数据,为什么?????

注意的是:数据库连接是没有问题的,因为TEXT框内能够显示数据

rs.CursorType = adOpenStatic
conn.ConnectionString = "Provider = microsoft.jet.oledb.4.0;data source= " & App.Path & "\DB\student.mdb"
conn.Open

Set rs.ActiveConnection = conn
rs.Open ("select * from jbqk"), conn, 1, 3

Set DataGrid1.DataSource = rs

Text1.Text = rs.Fields("au_id")
Text2.Text = rs.Fields("au_lname")
Text3.Text = rs.Fields("au_fname")
Text4.Text = rs.Fields("phone")
Text5.Text = rs.Fields("address")
Text6.Text = rs.Fields("city")
Text7.Text = rs.Fields("state")
Text8.Text = rs.Fields("zip")
Text9.Text = rs.Fields("

Set DataGrid1.DataSource = rs
在这句的后面加上
datagrid1.Refresh
你试试行不行,因为你没有刷新表格的状态所以没有显示

Set rs.ActiveConnection = conn
你把这句话改一下看看
Set rs= New ADODB.Recordset

不好意思昨天不能上网了。我刚试了一下是你没有加它的游标类型,你再加上这句话试试,应该行
rsq.CursorLocation = adUseClient

呵呵,你看着给吧!
cursorlocation这个属性是设置他的游标类型,如果你不设置这一项虽然datagrid和记录集关联了,但是当记录集的值发生变化时datagrid 的值不能和记录集 同步,只有你给这一项赋了值那么当记录集的数据改变后,和他绑定的数据控件也能得到和他相同的值。
我所知道的也就这些了。

你在Set DataGrid1.DataSource = rs
后面有没有关闭rs呢,应该是不能关闭的,关闭后就不能在 DataGrid1里显示数据了。