永发信息网

vb.net 中datagridview内数据修改后保存代码怎么写

答案:3  悬赏:30  手机版
解决时间 2021-02-02 06:16
如题,我datagirdview能显示sql中表的数据,但是数据改过后保存代码不会写
请高手帮忙 ,最好有代码
下面我的代码也是复制别人的,反正不能用
还有最好是只保存修改的数据,不是全部保存的那种
要求:修改数据后,点击命令按键保存修改过的数据,要求代码的
能用的话还可以加分
Dim conn As New System.Data.SqlClient.SqlConnection '创建一个新连接
conn.ConnectionString = "Data Source=FO525FSWNFBJVA8\SQLEXPRESS;Initial Catalog=MyDatabase;Persist Security Info=True;User ID=sa;Password=1234"
conn.Open()
Dim AAADataSet1 As New DataSet

Dim shujubiaoadapter As New System.Data.SqlClient.SqlDataAdapter

Try
If AAADataSet1.HasChanges Then
shujubiaoadapter.Update(AAADataSet1.GetChanges)

Me.DataGridView1.CurrentCell = Me.DataGridView1.Rows(0).Cells(0)
MessageBox.Show("修改成功!")
Else
Me.DataGridView1.CurrentCell = Me.DataGridView1.Rows(0).Cells(0)
MessageBox.Show("无修改的内容!")
End If
Catch ex As Exception
MessageBox.Show("修改出错!")
End Try
conn.Close()

没有其他人回答,分给你了
我自己弄出来了
最佳答案
以下是我现成的操作OLEDB数据库的,也就是Access2003那种,你自己修改成SQL的就可以用
首先在窗体上加DataGridView1,BindingSource1,BindingNavigator1,Button1控件各一个,然后在BindingNavigator1控件上增加一个按钮ToolStrip_Save
修改的关键是OleDbCommandBuilder(你自己把其改成SqlClient.SqlCommandBuilder)
'--------下面是整个类代码-----------------------------------------------------------
Imports System.Data.OleDb
Public Class Form1
Dim ds As DataSet
Dim tb As DataTable
Dim ap As OleDbDataAdapter

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click '手动显示
Me.DataGridView1.AllowUserToAddRows = False
tb = New DataTable
ap = New OleDbDataAdapter("select * from electic ", cn)'这里是SQL命令,Cn是数据库连接,修改成你的Conn
ap.Fill(tb)
Me.BindingSource1.DataSource = tb
Me.BindingNavigator1.BindingSource = Me.BindingSource1
Me.DataGridView1.DataSource = Me.BindingSource1
End Sub

Private Sub ToolStrip_Save_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolStrip_Save.Click '调用保存
Save_Data()
End Sub
Private Function Save_Data() As Boolean '保存数据库的操作
Try
Me.DataGridView1.EndEdit()
Me.BindingSource1.EndEdit()
Dim bd As New OleDbCommandBuilder(ap)
ap.UpdateCommand = bd.GetUpdateCommand
ap.Update(Me.BindingSource1.DataSource)
Return True
Catch ex As Exception
MsgBox(ex.Message)
Return False
End Try
End Function

Private Sub ToolStrip_Cancel_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolStrip_Cancel.Click '撤销操作
Button1_Click(sender, e)
End Sub
全部回答
dim accessstring as string = "select * from 示例表"         dim accessconn as new oledb.oledbconnection(accessconnectionstring)         accessconn.open()         dim accessadapter as oledbdataadapter = new oledbdataadapter(accessstring, accessconn)         dim accesscmdbulid as new oledb.oledbcommandbuilder(accessadapter)         try             accessadapter.update(datagridview1.datasource)         catch ex as exception             console.writeline(ex.message)             msgbox("数据保存失败" & vbcrlf & ex.message.tostring, msgboxstyle.critical)         finally             accessadapter.dispose()             accesscmdbulid.dispose()         end try
'--------下面是整个类代码----------------------------------------------------------- Imports System.Data.OleDb Public Class Form1 Dim ds As DataSet Dim tb As DataTable Dim ap As OleDbDataAdapter Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click '手动显示 Me.DataGridView1.AllowUserToAddRows = False tb = New DataTable ap = New OleDbDataAdapter("select * from electic ", cn)'这里是SQL命令,Cn是数据库连接,修改成你的Conn ap.Fill(tb) Me.BindingSource1.DataSource = tb Me.BindingNavigator1.BindingSource = Me.BindingSource1 Me.DataGridView1.DataSource = Me.BindingSource1 End Sub Private Sub ToolStrip_Save_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolStrip_Save.Click '调用保存 Save_Data() End Sub Private Function Save_Data() As Boolean '保存数据库的操作 Try Me.DataGridView1.EndEdit() Me.BindingSource1.EndEdit() Dim bd As New OleDbCommandBuilder(ap) ap.UpdateCommand = bd.GetUpdateCommand ap.Update(Me.BindingSource1.DataSource) Return True Catch ex As Exception MsgBox(ex.Message) Return False End Try End Function Private Sub ToolStrip_Cancel_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolStrip_Cancel.Click '撤销操作 Button1_Click(sender, e) End Sub
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
昨晚梦见我的家人得绝症了。。。!我家人很健
泰浦物流(桥北乡马井开发区中段路南附近泰浦
为什么信用货币经常导致通货膨胀
1911音乐酒吧地址在哪,我要去那里办事
腾达物流(火车站)怎么去啊,我要去那办事
十二和的意思是什么啊?知道的请说下!
什么树高耸挺拔
六一班有学生若干人,如果增加男生的五分之一,
我老公大前天做了包皮手术,这几个晚上一直起
求配置 我常用c4d、maya、3dsmax、zbrush软件
下列常用作皮肤促透剂的是A.可可豆脂B.聚乙二
股票的前复权和后复权对股票交易有什么关系
正宗的羊肉泡馍是什么样的,怎么做的?
我的电脑配置还算可以,足够起凡所要求的配置
腾达物流(青年路129号附近腾达物流)地址有知
推荐资讯
家用锁边机的针由反正吗?
三千块搞一台式电脑 鲁大师多少跑分才合适
word里艺术字不能复制了,怎么办?没法复制,
“大长金”的主题曲。。。。。。。。。。
求双世宠妃电视剧全集百度云资源 谢谢
鸡兔同笼的问题怎么做?
澜沧古茶地址在哪,我要去那里办事
存心找茶地址有知道的么?有点事想过去
成绩不好的女生能上航空学校吗
神奇宝贝中哪个神奇宝贝只有一种属性
求歌名。。I have to go out 什么什么night .
陕西金叶停盘前砸盘什么意思?重大投资是利好
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?