روشهاي زيادي براي انجام اين كار وجود دارد : يكي از روشها بصورت زير است
براي ذخيره كردن اطلاعات پايگاه داده (افزودن ايتمهاي جديد) به صورت عمل ميكنيم.
فرض ميكنيم كه شما اطلاعات يك جدول (Students) با 2 فيلد(FirstName و LastName) را در يك datagrid با نام datagrid1 نمايش ميدهيد (با اين فرض كه از اشياء اتصال، آداپتور داده و ديتاست OleDb استفاده ميكنيد).ما در فرم 2 جعبه متن به نامهاي txtFirstName و txtLastName داريم كه اطلاعات موجود در اين 2 جعبه متن را در پايگاه داده ثبت و ذخيره ميكنيم.
براي پر كردن dataset بصورت زير عمل ميكنيم
Imports System.Data.OleDb
'*****
Private connect_string As String
Private Const SELECT_STRING As String = _
"SELECT * FROM Students"
Private da As OleDb.OleDbDataAdapter
Private m_DataSet As DataSet
'******
Private Sub Form1_Load (…….)
Dim db_name As String = Application.StartupPath
db_name = db_name.Substring(0, db_name.LastIndexOf("\")) & "\Students.mdb"
connect_string = _
"Data Source=" & db_name & ";" & _
"Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Persist Security Info=False"
' Create the SqlDataAdapter.
Dim data_adapter As New OleDbDataAdapter(SELECT_STRING, CONNECT_STRING)
' Map "Table" to "Students."
data_adapter.TableMappings.Add("Table", "Students")
' Fill the DataSet.
m_DataSet = New DataSet
data_adapter.Fill(m_DataSet)
' Bind the DataGrid control to the Students DataTable.
DataGrid1.SetDataBinding(m_DataSet, "Students")
End Sub
يك دكمه با نام btnsave به فرم اضافه كرده و كد زير را در آن مينويسيم.
Private Sub btnsave _Click (………)
Dim dt_students As DataTable = m_DataSet.Tables("Students")
Dim new_row As DataRow = dt_students.NewRow()
new_row.Item("FirstName") = txtFirstName.Text
new_row.Item("LastName") = txtLastName.Text
Try
txtFirstName.Text = ""
dt_students.Rows.Add(new_row)
Catch ex As Exception
MessageBox.Show("Error creating new Student." & vbCrLf & ex.Message)
در رويداد بستن فرم ( Closing ) كد زير را وارد ميكنيم.
Private Sub Form1_Closing (…….)
If m_DataSet.HasChanges() Then
' Create the DataAdapter.
Dim data_adapter As New OleDbDataAdapter(SELECT_STRING, connect_string)
' Map Table to Students.
data_adapter.TableMappings.Add("Table", "Students")
' Make the CommandBuilder generate the insert, update, and delete commands.
Dim command_builder As New OleDbCommandBuilder(data_adapter)
' Save the changes.
data_adapter.Update(m_DataSet)
End If
End Sub