如何利用datagridview更新数据库
我已经利用下面的代码实现数据从库到databridview ,请问如何实现在datagridview 中直接编辑数据并更新到数据库,例如我现在想增加一行新数据?
Dim dba As New OleDb.OleDbDataAdapter
Dim con As New OleDb.OleDbConnection( "Provider=Microsoft.Jet.OleDb.4.0;Data Source=d:\ep.mdb ")
con.Open()
Dim ds As New DataSet
dba = New OleDb.OleDbDataAdapter( "select * from jsrk ", con)
Dim upcmd As New OleDbCommandBuilder(dba)
dba.Fill(ds, "123 ")
DataGridView1.DataSource = ds.Tables( "123 ")
' DataGridView1.Columns(0).Visible = False
' For i = 1 To DataGridView1.ColumnCount - 1
' Dim cColumn As String = RTrim(DataGridView1.Columns(i).Name)
'Select Case cColumn
' Case "Column1 "
Me.DataGridView1.Columns(1).HeaderText = "姓名 "
Me.DataGridView1.Columns(1).Width = 50
' Case "Column2 "
Me.DataGridView1.Columns(2).HeaderText = "密码 "
Me.DataGridView1.Columns(2).Width = 50
' End Select
' Next
[解决办法]
唉
了20分
完整代如下:
Public Sub UpdataDataTable(ByVal Dt As DataTable, ByVal sqlstr As String)
SqlConn.Close()
SqlConn.Open()
Dim adapter As New SqlClient.SqlDataAdapter(sqlstr, SqlConn)
Dim cmdbuider As New SqlClient.SqlCommandBuilder(adapter)
Dim swcl As SqlClient.SqlTransaction
swcl = Nothing
Try
Dim cmd As SqlClient.SqlCommand
cmd = New SqlClient.SqlCommand(sqlstr)
cmd.Connection = SqlConn
swcl = SqlConn.BeginTransaction
adapter.SelectCommand = cmd
adapter.SelectCommand.CommandText = sqlstr
adapter.SelectCommand.Connection = cmd.Connection
adapter.UpdateCommand = cmdbuider.GetUpdateCommand
adapter.InsertCommand = cmdbuider.GetInsertCommand
adapter.DeleteCommand = cmdbuider.GetDeleteCommand
adapter.Update(Dt)
Catch ex As Exception
If Not (swcl Is Nothing) Then
swcl.Rollback()
swcl = Nothing
MessageBox.Show(Err.Description, "Update Error ", MessageBoxButtons.OK, MessageBoxIcon.Error)
End If
SqlConn.Close()
Dt = Nothing
Finally
If Not (swcl Is Nothing) Then
swcl.Commit()
swcl = Nothing
MsgBox( "Update Date Success ", MsgBoxStyle.Information, "System Information ")
End If
adapter = Nothing
cmdbuider = Nothing
swcl = Nothing
SqlConn.Close()
End Try
[解决办法]
表 jsrk 没有主健,所以更新失败!
表 dlxx 有主健,所以更新成功!