2013-12-15 4 views
0

Привет Я разрабатываю приложение WinForm в vb.net и обратном доступе MS. Используя datagridview, я могу отображать записи, просто установив свойство datasource для datagridview. Но я не знаю, как обновлять записи через datagridview, в vb6 было очень легко обновить сами записи, они будут обновлять данные в базе данных, но в vb.net как обновлять записи? Следующие коды я использовал для отображения записей в DataGridView ..Обновление записей через DataGridView VB.net

Dim conn As OleDbConnection 
Dim cmd As OleDbCommand 
Dim adpt As OleDbDataAdapter 
Dim rs As DataTable 

    conn = New OleDbConnection 
    conn.ConnectionString = "provider=Microsoft.Jet.OLEDB.4.0; Data Source="& Application.StartupPath & "\sample.mdb" 
    conn.Open() 


    adpt = New OleDbDataAdapter("select * from table1", conn) 
    rs = New DataTable 
    adpt.Fill(rs) 
    Me.dgv.DataSource = rs 

Если я могу изменить данные в DataGridView не будет влиять на databaserecords. Пожалуйста, помогите мне ...

+0

Какой индекс поля делать у тебя есть? Иногда, если это текстовое поле и пробелы добавляются, обновления будут терпеть неудачу, потому что поля ключа не совпадают, и запись не может быть найдена. Это не вызовет ошибки. –

+0

U средние поля базы данных? У меня есть поля Text, Date и Number. И Номер является первичным ключом типа auto number. – Vignesh

ответ

0

Чтобы обновить записи в моей базе данных через мой datagridview, я использовал DataSet.

Это код, который я использовал для заполнения Dataset:

Public Cnn As New OleDb.OleDbConnection 
Public Cmd As New OleDb.OleDbCommand 
Public DR As OleDbDataReader 
Public DA As OleDbDataAdapter 
Public DS As DataSet 
Public DT As DataTable 
Public cmdBld As OleDbCommandBuilder 

Cmd = New OleDbCommand("SELECT * FROM table1", Cnn) 

Cnn.Open() 

DA = New OleDbDataAdapter(Cmd) 

cmdBld = New OleDbCommandBuilder(DA) 

DS = New DataSet() 

DA.Fill(DS, "table1") 

DataGridView1.DataSource = DS.Tables("table1").DefaultView 

Cnn.Close() 

И это код для сохранения изменений из DataGridView в базу данных:

Me.Validate() 

Me.DA.Update(Me.DS.Tables("table1")) 

Me.DS.AcceptChanges() 
Смежные вопросы