''datagrid binding过程: dim db1 As New DbOperation
dim r As ADODB.Recordset
Dim sql As String
db1.DB_Connect
sql="..."
Set r = db1.querySQL(sql)
Set DataGrid1.DataSource = r
r.Close
db1.DB_DisConnect'数据库连接我做成了一个类模块:DbOperation
'声明一个连接
Dim conn As ADODB.Connection
'声明一个数据集对象
Dim rst As ADODB.Recordset
Public Sub DB_Connect()
'建立连接
Set conn = New ADODB.Connection
conn.ConnectionTimeout = 8 '设置连接超时,8s内无法连接视为服务器不可用
conn.Open ConnectString '连接服务器
End SubPublic Function querySQL(ByVal sql As String) As ADODB.Recordset
'执行查询
Set rst = New ADODB.Recordset
rst.Open Trim$(sql), conn, adOpenKeyset, adLockOptimistic
'rst.MoveLast 'get RecordCount
Set querySQL = rst
End FunctionPublic Sub executeSQL(ByVal sql As String)
'执行sql语句
conn.Execute (sql)
End SubPublic Sub DB_DisConnect()
'关闭连接
conn.Close
'释放连接
Set conn = Nothing
End Sub
''问题:datagrid出现了"cannot initialize data bindings"的错误。我想可能是datagrid没有注册,
所以把把MSDATGRD.OCX复制到目标机器上并用regsvr32进行注册,但是问题依然存在。
说明:我的程序没有打包,直接生成的EXE文件在目标机器上运行。目标机器上已经安装了MDAC。
是不是还有些datagrid相关的组件没有拷到目标机器上啊?
亟待解决,谢谢。
dim r As ADODB.Recordset
Dim sql As String
db1.DB_Connect
sql="..."
Set r = db1.querySQL(sql)
Set DataGrid1.DataSource = r
r.Close
db1.DB_DisConnect'数据库连接我做成了一个类模块:DbOperation
'声明一个连接
Dim conn As ADODB.Connection
'声明一个数据集对象
Dim rst As ADODB.Recordset
Public Sub DB_Connect()
'建立连接
Set conn = New ADODB.Connection
conn.ConnectionTimeout = 8 '设置连接超时,8s内无法连接视为服务器不可用
conn.Open ConnectString '连接服务器
End SubPublic Function querySQL(ByVal sql As String) As ADODB.Recordset
'执行查询
Set rst = New ADODB.Recordset
rst.Open Trim$(sql), conn, adOpenKeyset, adLockOptimistic
'rst.MoveLast 'get RecordCount
Set querySQL = rst
End FunctionPublic Sub executeSQL(ByVal sql As String)
'执行sql语句
conn.Execute (sql)
End SubPublic Sub DB_DisConnect()
'关闭连接
conn.Close
'释放连接
Set conn = Nothing
End Sub
''问题:datagrid出现了"cannot initialize data bindings"的错误。我想可能是datagrid没有注册,
所以把把MSDATGRD.OCX复制到目标机器上并用regsvr32进行注册,但是问题依然存在。
说明:我的程序没有打包,直接生成的EXE文件在目标机器上运行。目标机器上已经安装了MDAC。
是不是还有些datagrid相关的组件没有拷到目标机器上啊?
亟待解决,谢谢。
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货