1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43
| Public Class Form2
Private CN As OdbcSqlLite = Nothing
Private Sub Form2_Load(sender As Object, e As EventArgs) Handles MyBase.Load
CN = New OdbcSqlLite($"{Application.StartupPath}\DataBase\WIN32API.db3")
'SELECT id,Entier,Num,BOOL,Date,Txt FROM TableTest
Dim bindingSource1 = New BindingSource With {
.DataSource = CN.DataReaderToDataTable(CN.Execute("SELECT * FROM TableTest"))
}
DataGridView1.DataSource = bindingSource1
End Sub
Private Sub MAJ_Click(sender As Object, e As EventArgs) Handles MAJ.Click
Dim Prm() As Object= Nothing, Sql As String = "", MyTable As DataTable = DataGridView1.DataSource.DataSource
For Each d As DataRow In MyTable.Rows.Cast(Of DataRow)().Where(Function(g) g.RowState <> DataRowState.Unchanged)
Select Case d.RowState
Case DataRowState.Added
Sql = "insert into TableTest (Entier,Num,BOOL,Date,Txt) Values(@Entier,@Num,@BOOL,@Date,@Txt)"
Prm = {CN.Parameter("@Entier", SqliteType.Integer, d("Entier")),
CN.Parameter("@Num", SqliteType.Real, d("Num")),
CN.Parameter("@BOOL", SqliteType.Integer, d("BOOL")),
CN.Parameter("@Date", SqliteType.Text, d("Date")),
CN.Parameter("@Txt", SqliteType.Text, d("Txt"))}
Case DataRowState.Modified
Sql = "UPDATE TableTest SET Entier=@Entier,Num=@Num,@BOOL,Date=@Date,Txt=@Txt Where ID=@ID"
Prm = {CN.Parameter("@ID", SqliteType.Integer, d("ID")),
CN.Parameter("@Entier", SqliteType.Integer, d("Entier")),
CN.Parameter("@Num", SqliteType.Real, d("Num")),
CN.Parameter("@BOOL", SqliteType.Integer, d("BOOL")),
CN.Parameter("@Date", SqliteType.Text, d("Date")),
CN.Parameter("@Txt", SqliteType.Text, d("Txt"))}
Case DataRowState.Deleted
Sql = "Delete From TableTest Where ID=@ID"
Prm = {CN.Parameter("@ID", SqliteType.Integer, d("ID", DataRowVersion.Original))}
End Select
If d.RowState <> DataRowState.Deleted Then d.AcceptChanges()
CN.Execute(Sql, Prm)
Next
DataGridView1.EditMode = DataGridViewEditMode.EditOnF2
End Sub
End Class |
Partager