3

これが私のコードです:

 cn.Open()
     cmd.CommandText = "insert into Student values('" ......
      cmd.ExecuteNonQuery()
        cn.Close()

接続を閉じた後、DataGridView でデータも更新する必要があります。
私が試しdatagridview.refresh()たVB.NETは初めてですが、データを更新せずに再描画するようなものだと思うので、うまくいきません。
ありがとう。

4

2 に答える 2

2

基礎となるビジネス オブジェクトを更新すると、UI が自動的に更新されます。たとえば、データバインディングを行うのを忘れていたと思いますDataGridView.DataSource = yourDataTable

編集:あなたが今いる場所からの最も簡単な方法は、おそらくこれを置き換えることです:

cmd.ExecuteNonQuery()

これで:

Dim dt As New DataTable
dt.Load(cmd.ExecuteReader())

その後:

DataGridView.DataSource = dt

データベースの更新が必要な場合は、DataAdapterとそのUpdateメソッドを使用できます。私がリンクしたオーバーロードは、特に DataTable 用です。つまり、DataSet をまだ持っていない限り、必要ありません。

于 2013-05-18T20:45:47.703 に答える
1

@Neoliskが言ったように、データバインディングを行う必要があります..たとえば

Dim ds as DataSet
Dim sSql As New OleDb.OleDbCommand

sSql = cnEZApp.CreateCommand()

cmd = New Data.OleDb.OleDbDataAdapter("SELECT * FROM student ORDER by kode", conn)
cmd.Fill(ds, "student")
dgvGuru.DataSource = ds.Tables("student")

したがって、テーブルをデータソースとして更新するには、行う必要があります

sSql.CommandText = "insert into Student(...) values(...)"
cmd.UpdateCommand = sSql
cmd.UpdateCommand.ExecuteNonQuery()
cmd.ExecuteNonQuery()
于 2013-05-18T23:13:55.073 に答える