【CSDN】【请问如何用组合框动态刷新DataGrid中的数据】

drillmaster 2003-10-02 06:41:09
我的代码提示如下错误,哪位大侠帮我改改代码,重分感谢

run-time error '7004':
the rowset is not bookmarkable.

我的窗体代码如下:
Option Explicit
Dim strSql As String

Private Sub Combo1_Click()
If Rs.State = adStateOpen Then Rs.Close
strSql = "select * from " & Combo1.Text
Rs.Open strSql, con, adOpenDynamic, adLockReadOnly
Set DataGrid1.DataSource = Rs
End Sub

Private Sub Form_Load()
Combo1.AddItem "Department"
Combo1.AddItem "Employee"
Combo1.AddItem "Operator"
Combo1.AddItem "AccountType"
Combo1.AddItem "Customer"
Combo1.AddItem "ATMCard"
Combo1.AddItem "CheckBookDetails"
Combo1.AddItem "TransactionsOfAccount"
Combo1.AddItem "TransactionOfCheckBook"
Combo1.AddItem "TransactionOfATMCard"

Call connectionSQLServer//为模块代码,见下
End Sub

另外模块代码如下
Public strServerName As String
Public strOperator As String
Public LoginSucceeded As Boolean
Public con As Connection
Public Rs As Recordset
Public com As Command

Public Sub getSQLServerName()
If GetSetting("OnlineBankingDB", "SQL Server Name", "ServerName") = "" Then
strServerName = InputBox("请输入数据库服务器名称")
SaveSetting "OnlineBankingDB", "SQL Server Name", "ServerName", strServerName
Else
strServerName = GetSetting("OnlineBankingDB", "SQL Server Name", "ServerName")
End If
End Sub

Public Sub connectionSQLServer()
Set con = New Connection
Set Rs = New Recordset
Set com = New Command

On Error GoTo errorhandler
Call getSQLServerName

Set con = New Connection
With con
.Provider = "sqloledb"
.ConnectionString = "user id=sa;" & _
"password=810614;" & _
"data source=" & strServerName & _
";initial catalog=OnlineBankingDB"
.Open
End With

com.ActiveConnection = con
Exit Sub
errorhandler:
MsgBox Err.Number & Err.Source & Err.Description
End Sub


...全文
27 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
mfcprogrammer 2003-10-08
  • 打赏
  • 举报
回复
Option Explicit
Dim strSql As String


Private Sub Combo1_Click()
If Rs.State = adStateOpen Then Rs.Close
strSql = "select * from " & Combo1.Text
con.CursorLocation = adUseClient//必须
Rs.Open strSql, con, adOpenDynamic, adLockOptimistic
Set DataGrid1.DataSource = Rs
End Sub

Private Sub Form_Load()
Combo1.AddItem "Department"
Combo1.AddItem "Employee"
Combo1.AddItem "Operator"
Combo1.AddItem "AccountType"
Combo1.AddItem "Customer"
Combo1.AddItem "ATMCard"
Combo1.AddItem "CheckBookDetails"
Combo1.AddItem "TransactionsOfAccount"
Combo1.AddItem "TransactionOfCheckBook"
Combo1.AddItem "TransactionOfATMCard"

Call connectionSQLServer
End Sub
yunfeng007 2003-10-03
  • 打赏
  • 举报
回复
游标使用问题,将Rs.Open strSql, con, adOpenDynamic, adLockReadOnly
改成Rs.Open strSql, con, adOpenStatic, adLockOptimistic

7,765

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧