关于DataGrid的Update的问题

iamsoweak 2003-12-23 11:43:53
我在VB里用DATAGRID显示了一个表格(是一个SQL语句查询出的结果)

想要:
在修改表格的内容之后点击"修改"按钮,弹出"是否确定修改"MSGBOX,选"是"后按照DATAGRID中的内容UPDATE数据库,完成数据库的更新

问题是:
DATAGRID的ALLOWUPDATE属性为TRUE时,它对数据库的更新是时时的,怎么才能实现我上面所说的功能呢?
如果根本不可能用DataGrid实现,那么该用什么控件来做?
...全文
76 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
yoki 2003-12-23
  • 打赏
  • 举报
回复
该范例连同 CancelBatch 方法说明 UpdateBatch 方法。

Public Sub UpdateBatchX()

Dim rstTitles As ADODB.Recordset
Dim strCnn As String
Dim strTitle As String
Dim strMessage As String

' 将连接字符串赋值给变量。
strCnn = "Provider=sqloledb;" & _
"Data Source=srv;Initial Catalog=pubs;User Id=sa;Password=; "

Set rstTitles = New ADODB.Recordset
rstTitles.CursorType = adOpenKeyset
rstTitles.LockType = adLockBatchOptimistic
rstTitles.Open "titles", strCnn, , , adCmdTable

rstTitles.MoveFirst

' 对记录集执行循环并询问用户是否要更改指定标题的类型。
Do Until rstTitles.EOF
If Trim(rstTitles!Type) = "psychology" Then
strTitle = rstTitles!Title
strMessage = "Title: " & strTitle & vbCr & _
"Change type to self help?"

If MsgBox(strMessage, vbYesNo) = vbYes Then
rstTitles!Type = "self_help"
End If
End If

rstTitles.MoveNext
Loop

' 询问用户是否要提交以上所作的全部更改。
If MsgBox("Save all changes?", vbYesNo) = vbYes Then
rstTitles.UpdateBatch
Else
rstTitles.CancelBatch
End If

' 打印记录集中的当前数据。
rstTitles.Requery
rstTitles.MoveFirst
Do While Not rstTitles.EOF
Debug.Print rstTitles!Title & " - " & rstTitles!Type
rstTitles.MoveNext
Loop

' 恢复原始值,因为这只是演示。
rstTitles.MoveFirst
Do Until rstTitles.EOF
If Trim(rstTitles!Type) = "self_help" Then
rstTitles!Type = "psychology"
End If
rstTitles.MoveNext
Loop
rstTitles.UpdateBatch

rstTitles.Close

End Sub

iamsoweak 2003-12-23
  • 打赏
  • 举报
回复
这个"批更新处理"是什么东西啊?小弟是个新手,请您讲的具体一点:)
victorycyz 2003-12-23
  • 打赏
  • 举报
回复
用批更新处理。
myhwlj 2003-12-23
  • 打赏
  • 举报
回复
好!!!!!!:)
ui: 代码如下:
<asp:ImageButton ID=”imgUpdate” CommandName=”update” ToolTip=”Update” ImageUrl=”~/App_Themes/Images/edit.png” runat=”serve

1,216

社区成员

发帖
与我相关
我的任务
社区描述
VB 数据库(包含打印,安装,报表)
社区管理员
  • 数据库(包含打印,安装,报表)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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