2015-11-26 61 views

回答

0
If dgv.IsCurrentCellInEditMode = True Then 
    MsgBox("Please exit edit mode and try again.") 
    Exit Sub 
End If 
Execute("DELETE FROM tblSample;") 

Dim c As Integer = 0 
Dim dgv As Integer = dgv.Rows.Count - 1 
While c < dgv 
    Execute("INSERT INTO tblSample VALUES (" + dgv.Item(0, c).Value.ToString + "," + dgv.Item(x, c).Value.ToString + ");") 
    c += 1 
End While 
fillDatatable(xDT, "SELECT * FROM tblSample;") 
dgv.DataSource = xDT 
dgv.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.Fill 
dgv.Refresh() 
MsgBox("Changes Applied!") 



Public Sub fillDatatable(_datatable As DataTable, Query As String) 
    Dim sqlQuery As String = (Query) 
    Using conn As New SqlConnection(yourConnectionString) 
     conn.Open() 
     Using da As New SqlDataAdapter(sqlQuery, conn) 
      da.Fill(_datatable) 
     End Using 
     conn.Close() 
    End Using 
End Sub 

這裏假設你有一個 「執行」 的方法來執行SQL查詢。 (tblSample =你的表) (dgv =你的datagrdview)(x =行號(0,1,2,3 ...))它使用數據表作爲數據的臨時「保存點」,而不是最有效的,但它應該工作。希望它有幫助! xD

+0

參數化您的查詢,兄弟。 –

相關問題