2016-06-11 14 views
-1

こんにちは私は自分のvb.netフォームにDatagridviewを持っており、MySQLテーブルのデータをVb.netのDatagridview(Dgv)に表示したいのですが、問題は私がDgvのレコードを更新または削除します。取り出す現在のレコードは、現在のレコードの表示を追加しています。私はこのようなコードを書いています。私はそれにもっと多くの関数を追加しようとしています。私はMySqlDataAdapterとDataSetを使ってこれを行うことができます。そして、このコードのdatagridviewを埋めますが、 /現在フェッチしている行を追加せずにレコードを削除する。または倍増行のVb.netのDatagridview行にレコードを追加する

Dim SQL as String = "Select * from employee" 
Dim cmd as MySqlCommand = new MySqlCommad(SQL, connection) 
Dim reader as MysqlDataReader = cmd.executeReader() 
Dim empId, empName, empAddress as String 
with reader.Read 
    empId = reader("empId") 
    empName = reader("name") 
    empAddress = reader("address") 

Dim row() As String 
row = new String() {empId, empName, empAddress} 
DataGridView1.Rows.Add(row) 
End While 
reader.close() 
cmd.close() 

私はこの問題はRows.Addに

追加され知っている: は現在、この機能は、イベントまたはボタンをクリックしたときには、このサブが再び呼び出されるデータを表示することです。より多くのディスプレイを追加することなく。

+0

'emplpyee'テーブルをDataTableにロードすると、DGVに行を追加する必要がなくなります。テーブルをバインドすると、すべてが自動的に表示されます。新しいEMRを追加するには、新しいDataRowを追加してください。 – Plutonix

+0

現在、私はDataTableを使用していません。そのデータ例の一部をフィルタリングするためです。私はEmpAddressです。私はDataGridに表示しませんが、将来の使用のために変数に渡す – Max

答えて

1
Dim SQL as String = "Select * from employee" 
Dim cmd as MySqlCommand = new MySqlCommad(SQL, connection) 
Dim reader as MysqlDataReader = cmd.executeReader() 
Dim empId, empName, empAddress as String 

'before adding new row in datagridview add this code 
DataGridView1.Rows.clear(); 
with reader.Read 
    empId = reader("empId") 
    empName = reader("name") 
    empAddress = reader("address") 

それは、行の古い値を削除し、これはあなたが望む何をすべきデータベース

1

に新しい値を追加しますように。 SQL ServerからDataGridviewに簡単に選択し、データを変更し、datagridviewからSQL Serverに変更を渡すことができます。

Imports System.Data.SqlClient 
Public Class Form1 
    Dim connetionString As String 
    Dim connection As SqlConnection 
    Dim adapter As SqlDataAdapter 
    Dim cmdBuilder As SqlCommandBuilder 
    Dim ds As New DataSet 
    Dim changes As DataSet 
    Dim sql As String 
    Dim i As Int32 

    Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click 
     connetionString = "Data Source='your_server';Initial Catalog='your_database';Trusted_Connection=True;" 
     connection = New SqlConnection(connetionString) 
     sql = "Select * from Product" 
     Try 
      connection.Open() 
      adapter = New SqlDataAdapter(Sql, connection) 
      adapter.Fill(ds) 
      DataGridView1.DataSource = ds.Tables(0) 
      connection.Close() 
     Catch ex As Exception 
      MsgBox(ex.ToString) 
     End Try 
    End Sub 

    Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click 
     'NOTE: for this code to work, there must be a PK on the Table 
     Try 
      cmdBuilder = New SqlCommandBuilder(adapter) 
      changes = ds.GetChanges() 
      If changes IsNot Nothing Then 
       adapter.Update(changes) 
      End If 
      MsgBox("Changes Done") 
     Catch ex As Exception 
      MsgBox(ex.ToString) 
     End Try 
    End Sub 
End Class 
関連する問題