p; MessageBoxButtons.OK, MessageBoxIcon.Error) Exit Sub End Try End Sub Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Try Dim cBuilder As New SqlCommandBuilder(adapter) ''''创建一个CommandBuilder对象 adapter.UpdateCommand = cBuilder.GetUpdateCommand ''''为数据适配器adapter的更新命令赋值 adapter.Update(ds, "student") ''''更新数据集 ds.Clear() ''''清空当前数据集 adapter.Fill(ds, "student") ''''重新绑定数据适配器 DataGrid1.SetDataBinding(ds, "student") ''''在datagrid中显示更新后数据 MsgBox("更新数据成功!", MsgBoxStyle.OKOnly, "请确认") ''''提示更新数据成功 Catch sqlExc As Exception ''''异常处理 MessageBox.Show(sqlExc.ToString, "SQL 异常错误!", _ MessageBoxButtons.OK, MessageBoxIcon.Error) Exit Sub End Try End Sub End Class 第4部份 效果图 当有相同的学号时,异常处理程序提示不能插入重复值,更新不成功。如下图: 第5部份 总结 5.1 填充的数据集中的数据表一定要包含原表(要更新的表)的主键,即select语句中一定要包含主键字段,否则无法更新; 5.2 commandbuilder类只能在datatable映射到单个数据表的时候使用。这意味着如果数据库查询的是两个或者更多的表的联接,就不能使用commandbuilder类; 5.3 在本例子中,字段stuno''''学号''''是主键,假如用户更改学号,导致有两个一样的学号时,异常处理会提示“不能插入重复值”,这时更新失败。 第6部份 感慨 6.1我参考了网上的部分资料,在此深表感谢提供相关资料的网友。 6.2感谢网友的支持,给我回帖。原帖为: http://community.csdn.net/Expert/topic/4150/4150525.xml?temp=.1751215 6.3在我急需解决这个问题,着急的时候,得到了高手的提示,终于解决了问题,真的有一种“山穷水尽疑无路,柳暗花明又一村”的感觉,顿时豁然开朗了。真的不知道该怎么感谢你们这些不曾谋面的朋友! 6.4我发这篇文章的目的是希望能够起到一个抛砖引玉的作用,望各路高手不吝赐教。 6.5如有哪位网友需要我做的这个例子,可以给我留下邮箱号,我会尽最快的速度发到你们的邮箱里。
上一页 [1] [2] [系统软件]WindowsServer2003中AD数据库的备份与恢复 [VB.NET程序]VB.NET中关于DataGrid颜色的自定义。 [VB.NET程序]vb.net读写xml(2)--实现datagrid与xml的沟通(原创… [VB.NET程序]根据表格内容,自动调整VB.NET中Datagrid控件单元… [VB.NET程序][原创]VB.net技巧之六------DataGrid模板列中的超… [VB.NET程序][原创]VB.net技巧之五------在DataGrid中显示图片 [Web开发]用Javascript模仿DataGrid [Web开发]Binding a DataGrid to an ADO Recordset [Web开发]动态的管理ASP.NET DataGrid数据列 [Web开发]ADO在vb.net中的使用(与datagrid结合)
|