- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
DataGridView的增删改
DataGridView中直接增删改查的方法
在 VB.NET 或C#中对于直接增删改DataGridView中的记录,用户更易接受,虽然DataGridView本身提供Update的方法(该仅需有Select语句即可)可将添加或删除或更新的的记录同时更新至底层数据库,但该方法模拟Excel的操作,如用户未点击保存按钮,用户此前所做的添加修改或更新的操作无法反映到底层数据库,若此时有别的用户也在访问该表格,系统所显示的还是旧的数据而不是最新的;另外系统所提供的Update方法仅适用于单表查询结果的操作,而对于关联表查询的操作则无能为力。
下面的提供的方法所有的操作必须要手动完成,select,update,delete,insert的语句全部有编程人员手动加入。
在DataGridView中可通过其本身直接增加记录,修改记录,以及删除记录。为了保证修改及删除的功能正常运行,数据库在设计表时必须要添加自动编号ID。
添加记录:
一般添加时,用Insert方法可模拟向数据库添加空白记录,以获取数据库的自动编号,随后利用修改功能输入其他字段的数据。
修改记录:
修改记录时利用DataGridiView的CellEndEdit事件直接修改,每修改完一个单元格即触发该事件,该事件再调用Update方法更新到数据库中的记录。避免数据库表中添加了新的字段而必须修改Update 的sql语句。
删除记录:
有了ID后,删除记录也变得更简单,只需将所有欲删除的记录选中,最后由数据库的Delete方法删除选择的记录。
以上方法每一次动作均直接与数据库关联,保证数据库中的数据都是最新的,一般对于局域网中的操作比较合适。
直接上项目:
将DataGridView控件拉入窗体中,打开其属性,修改AllowUserToAddRows 与 AllowUserToDeleteRows均为 False,如下图。
.
同时必须将下面的删除和添加按钮删除,加入自己的删除按钮和添加按钮。
表中灰色ID列为不能修改,而其余的列修改即保存。
具体代码如下:
Imports System.data
Imports System.data.sqlclient
Public Class frmDataGridViewPast
#Region 定义变量
Private conn As New SqlConnection(server=server;database=dbtest;uid=sa;pwd=sa)
Private da As New SqlDataAdapter()
Private tbl As New DataTable
Private sql As String =
Private cmd As New SqlCommand
#End Region
#Region 初始加载
Private Sub InitLoad()
初始加载程序
Try
Me.Cursor = Cursors.WaitCursor
打开连接
conn.Open()
sql = select ID,Number,[Name],age,gender,Address,Telphone,Email from nametable
cmd.Connection = conn
cmd.CommandText = sql
cmd.CommandType = CommandType.Text
da.SelectCommand = cmd
tbl.Clear()
tbl = New DataTable
da.Fill(tbl)
定义绑定数据源,以便DataGridview和BindingNavigator 享用同一数据源。
Dim bindSrc As New BindingSource
bindSrc.DataSource = tbl
Me.dg1.DataSource = bindSrc
bdnv1.BindingSource = bindSrc
将DataGridView的列宽设定为所有单元格,每列的宽度以该列中最宽单元格宽度为准显示
该方法不会关闭手动调整列宽的功能.
dg1.
您可能关注的文档
最近下载
- 血清酶变化的生理病理机制.ppt VIP
- 2025年秋季新教材部编版小学道德与法治三年级上册全册道法核心素养教案(教学设计)含教学反思.docx VIP
- 《智能机械与机器人》课件——3室内喷涂机器人施工工艺.pptx VIP
- 公司出门条模板.doc VIP
- 最新五年级(上册)《生活生命与安全》(全册)教案.docx
- 科学开学第一课.ppt VIP
- 《智能机械与机器人》课件——地面抹平机器人.pptx VIP
- (统编版2025新教材)道德与法治三年级上册开学第一课.pptx
- 1.2《我们都是社会的一员》【课件】2025-2026学年度统编版道德与法治八年级上册.pptx VIP
- 《智能机械与机器人》课件——地面整平机器人.pptx VIP
文档评论(0)