vb.net数据库(vb.net数据库操作)
大家好,今天来为大家解答vb.net数据库这个问题的一些问题点,包括vb.net数据库操作也一样很多人还不知道,因此呢,今天就来为大家分析分析,现在让我们一起来看看吧!如果解决了您的问题,还望您关注下本站哦,谢谢~
vb.net数据库操作
参考一下下面这段代码就可以了。
Imports System.Data
'引入数据库操作类命名空间
Imports System.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
'======================================================
#Region" Windows窗体设计器生成的代码"
#End Region
'======================================================
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()
'在窗口中的textbox中显示数据
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(3),"yyyy-MM-dd")
TxtClassno.Text= myrow.Item(4).ToString
TxtTel.Text= myrow.Item(5).ToString
TxtRuDate.Text= Format(CDate(myrow.Item(6)),"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).Delete()'删除记录
If MsgBox("确定要删除改记录吗?", MsgBoxStyle.OKCancel+ vbExclamation,"警告")= MsgBoxResult.OK Then
cmd= New OleDbCommandBuilder(ADOcmd)
'使用自动生成的SQL语句
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) Then
MsgBox("请输入姓名!", vbOKOnly+ vbExclamation,"警告")
TxtName.Focus()
Exit Sub
End If
If Not Testtxt(ComboSex.Text) Then
MsgBox("请选择性别!", vbOKOnly+ vbExclamation,"警告")
ComboSex.Focus()
Exit Sub
End If
If Not Testtxt(TxtClassno.Text) Then
MsgBox("请选择班号!", vbOKOnly+ vbExclamation,"警告")
TxtClassno.Focus()
Exit Sub
End If
If Not Testtxt(TxtTel.Text) Then
MsgBox("请输入联系电话!", vbOKOnly+ vbExclamation,"警告")
TxtTel.Focus()
Exit Sub
End If
If Not Testtxt(TxtAddress.Text) Then
MsgBox("请输入家庭住址!", vbOKOnly+ vbExclamation,"警告")
TxtAddress.Focus()
Exit Sub
End If
If Not IsNumeric(Trim(TxtSID.Text)) Then
MsgBox("请输入数字学号!", vbOKOnly+ vbExclamation,"警告")
Exit Sub
TxtSID.Focus()
End If
If Not IsDate(TxtBornDate.Text) Then
MsgBox("出生时间应输入日期格式(yyyy-mm-dd)!", vbOKOnly+ vbExclamation,"警告")
Exit Sub
TxtBornDate.Focus()
End If
If Not IsDate(TxtRuDate.Text) Then
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)
'使用自动生成的SQL语句
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)
Try
'建立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(0)'取得名为table的表
rownumber= 0'设置为第一行
myrow= mytable.Rows.Item(rownumber)
'取得第一行数据
Catch
MsgBox(Err.Description)
End Try
End Function
End Class
vb.net 怎么操作数据库
如果楼主熟悉VB6,可以直接在项目中添加ADODB的Com引用,这样你就可以像VB6那样操作数据库了!
另外
.NET
Framework中连接数据库要用到ADO.NET。如果要操作Access数据库,要用到System.Data.OleDb命名空间下的许多类。
比如按楼主所说,“我想在textbox1中显示表一中【一些数据】字段下的第一个内容”:
'首先导入命名空间
Imports
System.Data
Imports
System.Data.OleDb
'然后在某一个事件处理程序中写:
Dim
conn
As
New
OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data
Source=数据库.accdb;Jet
OLEDB:Database
Password=MyDbPassword")
Dim
command
As
New
OleDbCommand("Select
*
From
数据表",
conn)
conn.Open()
'打开数据库连接
Dim
reader
As
OleDbDataReader
=
command.ExecuteReader()
'执行SQL语句,返回OleDbDataReader
对象
Do
While
reader.Read()
'读取一条数据
textbox1.Text
+=
reader("一些数据")
&
VbCrLf
Loop
reader.Close()
'关闭OleDbDataReader
conn.Close()
'关闭连接
用vb.net 怎样建立一个mdb数据库及一张表
首先在项目的VB.NET界面,使用菜单【项目】--【添加引用】--【COM】
选择 Microsoft ADO Ext. 2.x for DDL and Security
然后单击【确定】,完成引用。
完整代码如下:
ImportsADOX
PublicClassForm1
PrivateSubButton1_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton1.Click
'创建空的access数据库文件--数据库文件.mdb,密码为123
DimMycatAsCatalog=NewCatalog()
Mycat.Create("Provider=Microsoft.Jet.OLEDB.4.0;JetOLEDB:EngineType=5;DataSource=数据库文件.mdb;JetOLEDB:DatabasePassword=123")
'以下代码创建一个名为“实验数据表”
DimMyTableAsADOX.Table=NewADOX.Table'定义新表
MyTable.Name="实验数据表"'表命名
'给表“实验数据表”创建一个字符串字段,字段名“姓名”
MyTable.Columns.Append("姓名",,ADOX.DataTypeEnum.adWChar)
'给表“实验数据表”创建一个整数字段,字段名“学号”
MyTable.Columns.Append("学号",ADOX.DataTypeEnum.adInteger)'追加一个数字型字段
'给字段“学号”创建一个主键“PimaryKey_Field”
MyTable.Keys.Append("学号",ADOX.KeyTypeEnum.adKeyPrimary,"学号")
Mycat.Tables.Append(MyTable)'把所有的新字段追加到表
MyTable=Nothing
Mycat=Nothing
EndSub
EndClass
好了,文章到此结束,希望可以帮助到大家。