房地产暖场活动主题:关于vb中datagrid的问题!

来源:百度文库 编辑:高校问答 时间:2024/04/30 16:09:47
各位大虾请帮忙看一下下面这段代码:
程序报错在我注释的地方,总是报“要求对象”的错误!谢谢!!
Public Function executesql(ByVal sql As String, ByVal mymsg As String) As adodb.Recordset
Dim cn As adodb.Connection
Dim rs As adodb.Recordset
Dim stokens() As String
On Error GoTo executesql_error
stokens = Split(sql)
Set cn = New adodb.Connection
cn.Open cns
If InStr("insert,delete,update", UCase$(stokens(0))) Then
cn.Execute (sql)
msg = stokens(0) & "连接数据库成功..."
Else
Set rs = New adodb.Recordset
rs.Open Trim$(sql), cn, adOpenDynamic, adLockBatchOptimistic
Set executesql = rs
msg = "查询到" & rs.RecordCount & "条记录"
End If

executesql_exit:
Set rs = Nothing
Set cn = Nothing
Exit Function

executesql_error:
msg = "查询错误!" & Err.Description
Resume executesql_exit

End Function

Public Function cns() As String
cns = "Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=pubs;Data Source=(local)"
End Function

Private Sub Form_Load()

Dim ssql As String
Dim srs As adodb.Recordset

ssql = "select au_id from authors where au_lname='white'"
Set srs = executesql(ssql, mymsg)

Set DataGrid1.DataSource = rs ‘错误就是这一条啦!

End Sub
数据库已连接上,我用一个文本框加上下面的代码已经可以显示:text1.text=srs.fields(0)所以我判断就是datagrid的问题了。请多指教!

**
改成:set datagrid1.dataSource=srs也不行啊!说是“行集合不能作为标签”这是怎么回事啊?
**

你不是定义的srs么?就应该是

ssql = "select au_id from authors where au_lname='white'"
Set srs = executesql(ssql, mymsg)

Set DataGrid1.DataSource = srs ‘