#mysql #vb.net
#mysql #vb.net
Вопрос:
Мой вопрос: Мне нужно добавить функцию ОБНОВЛЕНИЯ в мой код, только когда у меня есть некоторые изменения в моей базе ДАННЫХ (из ODBC), если у меня есть новый идентификатор для примера => я могу добавить его в свою базу данных MySQL, и если изменится какое-либо имя (из NAME fild) => я могу обновить его в своей базе данных MySQL.
'Read from ODBC and fill data in DataGridView
Public Sub fonction_read_from_odbc()
connection_to_database()
Dim da1 As OdbcDataAdapter
Dim dt1 As DataTable
da1 = New OdbcDataAdapter("select ID,NAME from DATABASE", conn1)
dt1 = New DataTable
da1.Fill(dt1)
DataGridView1.DataSource = dt1
conn1.Close()
da1.Dispose()
End Sub
'Write data from DataGridView and fill it in MySql DATABASE
Public Sub fonction_write_in_mysql_database()
Dim connection As New MySqlConnection("server=localhost;user id=user;database=mydatabase")
connection.Open()
Dim cmd As MySqlCommand
For i As Integer = 0 To DataGridView1.RowCount - 1 Step 1
cmd = New MySqlCommand("INSERT INTO `mydatabase.mytable` (`ID`, `NAME`) VALUES (@ID,@NAME)", connection)
cmd.Parameters.Add("@ID", MySqlDbType.Int64).Value = DataGridView1.Rows(i).Cells(0).Value.ToString
cmd.Parameters.Add("@NR", MySqlDbType.Int64).Value = DataGridView1.Rows(i).Cells(1).Value.ToString
cmd.ExecuteNonQuery()
Next
connection.Close()
End Sub
Public Sub fonction_update()
Dim connection As New MySqlConnection("server=localhost;user id=user;database=mydatabase")
Dim cmd As MySqlCommand
connection.Open()
cmd = New MySqlCommand("UPDATE mydatabase SET ID = @ID, NAME = @NAME", connection)
cmd.ExecuteNonQuery()
End Sub
The Steps that i used referring to the exemple in the link:
1- connection to ODBC
2- Private odbc_adapter As New OdbcDataAdapter("SELECT..
3- connection to MySQL
4- Private MySQL_adapter As New MySQLDataAdapter("SELECT..
5- Private table As New DataTable
6- fonction : fill data in datagridview => odbc_adapter.Fill(table)
7- fonction : insert_in_mysql As New MySqlCommand("INSERT INTO ...
8- Dim update_in_mysql As New MySqlCommand("UPDATE...
but the update not working.
Комментарии:
1. Просто используйте тот же адаптер данных, который вы использовали для извлечения данных. Вызовите его
Update
метод и передайтеDataTable
. Это позволит сохранить изменения вDataTable
базе данных. Вот для чего нужен адаптер данных.2. Не могли бы вы написать мне код, пожалуйста (только функцию обновления), потому что я несколько раз безуспешно пытался.
3. Существует множество примеров использования адаптера данных. Прочитайте некоторые из них, попробуйте выполнить это и, если это не сработает, опубликуйте этот код.
4. Вот один из них, который я подготовил ранее.
5. я пытаюсь добавить новую функцию «fonction_update()», но не работает.