参考一下下面这段代码就可以了。
ISystem.Data
'引入数据库操作类命名空间
ISystem.Data.OleDb
'引入ADO.NET操作命名空间
Public Class FrmModifystInfo
Inherits System.Windows.Forms.Form
Public ADOcmd As OleDbDataAdapter
Public ds As DataSet = New DataSet()
DataSet对象
Public mytable As Data.DataTable
Public myrow As Data.DataRow
Public rownumber As Integer
Public SearchSQL As String
Public cmd As OleDbCommandBuilder
'======================================================
'======================================================
Private Sub FrmModifystInfo_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Load
TxtSID.Enabled = False
TxtName.Enabled = False
ComboSex.Enabled = False
TxtBornDate.Enabled = False
TxtClassno.Enabled = False
TxtRuDate.Enabled = False
TxtTel.Enabled = False
TxtAddress.Enabled = False
TxtComment.Enabled = False '设置信息为只读
Dim tablename As String = "student_Info "
SearchSQL = "select * from student_Info
ExecuteSQL(SearchSQL,tablename
ShowData
End Sub
Private Sub ShowData()
myrow = mytable.Rows.Item(rownumber)
TxtSID.Text = myrow.Item(0).ToString
TxtName.Text = myrow.Item(1).ToString
ComboSex.Text = myrow.Item(2).ToString
TxtBornDate.Text = Format(myrow.Item(yyyy-MM-dd ")
TxtClassno.Text = myrow.Item(4).ToString
TxtTel.Text = myrow.Item(5).ToString
TxtRuDate.Text = Format(CDate(myrow.Item(yyyy-MM-dd ")
TxtAddress.Text = myrow.Item(7).ToString
TxtComment.Text = myrow.Item(8).ToString
End Sub
Private Sub BtFirst_Click(ByVal sender As System.Object,ByVal e As System.EventArgs) Handles BtFirst.Click
rownumber = 0
ShowData()
End Sub
Private Sub BtPrev_Click(ByVal sender As System.Object,ByVal e As System.EventArgs) Handles BtPrev.Click
BtNext.Enabled = True
rownumber = rownumber - 1
If rownumber < 0 Then
rownumber = 0 '如果到达记录的首部,行号设为零
BtPrev.Enabled = False
End If
ShowData()
End Sub
Private Sub BtNext_Click(ByVal sender As System.Object,ByVal e As System.EventArgs) Handles BtNext.Click
BtPrev.Enabled = True
rownumber = rownumber + 1
If rownumber mytable.Rows.Count - 1 Then
rownumber = mytable.Rows.Count - 1 '判断是否到达最后一条数据
BtNext.Enabled = False
End If
ShowData()
End Sub
Private Sub BtLast_Click(ByVal sender As System.Object,ByVal e As System.EventArgs) Handles BtLast.Click
rownumber = mytable.Rows.Count - 1
ShowData()
End Sub
Private Sub BtDelete_Click(ByVal sender As System.Object,ByVal e As System.EventArgs) Handles BtDelete.Click
mytable.Rows.Item(rownumber
If MsgBox(MsgBoxStyle.OKCancel + vbExclamation, "警告 ") = MsgBoxResult.OK
cmd = New OleDbCommandBuilder(ADOcmd)
ADOcmd.Update(ds,student_Info ")
BtNext.PerformClick()
End If
End Sub
Private Sub BtModify_Click(ByVal sender As System.Object,ByVal e As System.EventArgs) Handles BtModify.Click
TxtSID.Enabled = False '关键字段只读
TxtName.Enabled = True '可读写
ComboSex.Enabled = True
TxtBornDate.Enabled = True
TxtClassno.Enabled = True
TxtRuDate.Enabled = True
TxtTel.Enabled = True
TxtAddress.Enabled = True
TxtComment.Enabled = True
End Sub
Private Sub BtUpdate_Click(ByVal sender As System.Object,ByVal e As System.EventArgs) Handles BtUpdate.Click
If Not Testtxt(TxtName.Text
MsgBox(vbOKOnly + vbExclamation
TxtName.Focus()
Exit Sub
End If
If Not Testtxt(ComboSex.Text
MsgBox(vbOKOnly + vbExclamation
ComboSex.Focus()
Exit Sub
End If
If Not Testtxt(TxtClassno.Text
MsgBox(vbOKOnly + vbExclamation
TxtClassno.Focus()
Exit Sub
End If
If Not Testtxt(TxtTel.Text
MsgBox(vbOKOnly + vbExclamation
TxtTel.Focus()
Exit Sub
End If
If Not Testtxt(TxtAddress.Text
MsgBox(vbOKOnly + vbExclamation
TxtAddress.Focus()
Exit Sub
End If
If Not IsNumeric(Trim(TxtSID.Text
MsgBox(vbOKOnly + vbExclamation
Exit Sub
TxtSID.Focus()
End If
If Not IsDate(TxtBornDate.Text
MsgBox( "出生时间应输入日期格式(yyyy-mm-dd)vbOKOnly + vbExclamation
Exit Sub
TxtBornDate.Focus()
End If
If Not IsDate(TxtRuDate.Text
MsgBox( "入校时间应输入日期格式(yyyy-mm-dd)vbOKOnly + vbExclamation
TxtRuDate.Focus()
Exit Sub
End If
myrow.Item(0) = Trim(TxtSID.Text)
myrow.Item(1) = Trim(TxtName.Text)
myrow.Item(2) = Trim(ComboSex.Text)
myrow.Item(3) = Trim(TxtBornDate.Text)
myrow.Item(4) = Trim(TxtClassno.Text)
myrow.Item(5) = Trim(TxtTel.Text)
myrow.Item(6) = Trim(TxtRuDate.Text)
myrow.Item(7) = Trim(TxtAddress.Text)
myrow.Item(8) = Trim(TxtComment.Text)
mytable.GetChanges()
cmd = New OleDbCommandBuilder(ADOcmd)
ADOcmd.Update(ds,student_Info ")
MsgBox(vbOKOnly + vbExclamation
TxtName.Enabled = False
ComboSex.Enabled = False
TxtBornDate.Enabled = False
TxtClassno.Enabled = False
TxtRuDate.Enabled = False
TxtTel.Enabled = False
TxtAddress.Enabled = False
TxtComment.Enabled = False '重新设置信息为只读
End Sub
Private Sub BtCancel_Click(ByVal sender As System.Object,ByVal e As System.EventArgs) Handles BtCancel.Click
TxtSID.Enabled = False
TxtName.Enabled = False
ComboSex.Enabled = False
TxtBornDate.Enabled = False
TxtClassno.Enabled = False
TxtRuDate.Enabled = False
TxtTel.Enabled = False
TxtAddress.Enabled = False
TxtComment.Enabled = False
End Sub
Public Function ExecuteSQL(ByVal SQL As String, ByVal table As String)
ADODataSetCommand对象
ADOcmd = New OleDbDataAdapter(SQL, "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\\student.mdb ")
ADODataSetCommand对象
ADOcmd.Fill(ds, table) '取得表单
mytable = ds.Tables.Item
rownumber = 0 '设置为第一行
myrow = mytable.Rows.Item(rownumber)
MsgBox(Err.Description)
End Try
End Function下载本文