簡體   English   中英

將行從datagridview更新到數據庫

[英]update row from datagridview to database

我有一個腳本,可將值從datagridview更新為數據庫。 我確實使用了按鈕插入ToolStripButton,但是它不起作用。

Private Sub Form2_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    conn = New SqlConnection("")
    conn.Open()
    Dim query As [String] = "SELECT * FROM dtaTraLoiChoVanBan"
    da = New SqlDataAdapter(query, conn)
    Dim cb As New SqlCommandBuilder(da)
    dt = New DataTable()
    da.Fill(dt)
    C1FlexGrid1.DataSource = dt
    conn.Close()
End Sub

Private Sub ToolStrip1_ItemClicked(ByVal sender As System.Object, ByVal e As System.Windows.Forms.ToolStripItemClickedEventArgs) Handles ToolStrip1.ItemClicked
    Select Case e.ClickedItem.Name
        Case "ToolStripButton1" '---> button insert
            da.Update(dt)
    End Select
End Sub

我認為您的代碼每次都會重新加載網格並擦除用戶添加的所有更改。 通過檢查Page.IsPostBack(),嘗試僅第一次運行網格綁定。 您也從未使用CommandBuilder生成INSERT語句。

Private Sub Form2_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    conn = New SqlConnection("")  'blank connection string won't really work
    conn.Open()
    Dim query As [String] = "SELECT * FROM dtaTraLoiChoVanBan"
    da = New SqlDataAdapter(query, conn)
    Dim cb As New SqlCommandBuilder(da)
    cb.GetInsertCommand()
    dt = New DataTable()
    da.Fill(dt)
    conn.Close()
    If Not Page.IsPostBack() Then
        C1FlexGrid1.DataSource = dt
    End If
End Sub

我有同樣的問題。 我只是添加驗證來解決它。

Private Sub ToolStripButton5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolStripButton5.Click
    Me.Validate()
    DataGridView1.EndEdit()
    da.Update(dt)
    MsgBox("Data Updated!!")
    Me.BindGrid()
End Sub

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM