vb连接sql数据库的问题(SOS)

来源:百度知道 编辑:UC知道 时间:2024/06/19 07:19:24
先说一下界面,一个窗体,一个模块,一个DATAGIRD控件,一个ADODC控件,一个COMMAND控件.
模块里的公共代码如下:
Public cn As ADODB.Connection
Public rs As ADODB.Recordset

Public Function opencnrs()
Dim cn As ADODB.Connection
Dim rs As ADODB.Recordset
Set cn = New ADODB.Connection
Set rs = New ADODB.Recordset
cn.ConnectionString = "Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=pubs;Data Source=504文"
cn.Open
Set rs.ActiveConnection = cn
rs.Open "select * from authors"
cn.CursorLocation = adUseClient这行和下一行和再下一行不知道意思
rs.CursorType = adOpenKeyset
rs.LockType = adLockOptimistic
Set DataGrid.DataSource = rs
End Function
COMMAND控件的代码:
Private Sub Command1_Click()
Call opencnrs
End Sub
上面有三行我不知道意思,网上参考别人的代码时直接抄来的,其余自己写的,但我是菜鸟,本身没有VB的课程,是数据库的一点内容,老师随便跟我们讲一下,VB的书我看了一下.上面运行时点COMMAND,出错,提示如下:对象打开时,不允许操作.按调试指的是这一行:rs.CursorType = adOpenKeyset
这个程序我想要的是点COMMAND按钮,DA

private sub Command1_Click()
Dim conn As ADODB.Connection
Set conn = OpenConnForSqlServerByWin("504文", "pubs")
Dim rs As ADODB.Recordset
Set rs = OpenRecordset("select * from authors", conn)
Set DataGrid.DataSource = rs
end sub

Public Function OpenConnForSqlServer(ByVal ServerName As String, ByVal UserId As String, ByVal PassWord As String, Optional ByVal DateBaseName As String = "") As ADODB.Connection
Dim AdoConn As New ADODB.Connection
Dim strSql As String
With AdoConn
strSql = "Provider=SQLOLEDB.1;Persist Security Info=True;User ID=" & UserId & ";Password=" & PassWord & ";Data Source=" & ServerName
If DateBaseName <> "" Then strSql = strSql & ";database=" & DateBaseName
.ConnectionString = strSql
.Open
End With
Set OpenConnForSqlServer = AdoConn