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连接数据库1、用The SQL Server .NET Data Provider连接数据库
The SQL Server .NET Data Provider是利用SqlConnection类来连接SQL Server7.0或更高版本的数据库,
SqlConnection类位于名称空间System.Data.SqlClient下 。
连接代码:
Dim sqlConnection1 As SqlClient.SqlConnection
Dim strConnect As String=”data source=服务器名;initial catalog=数据库名;user id=sa;password=;”
sqlConnection1=New System.Data.SqlClient.SqlConnection(strConnect)
sqlConnection1.open‘打开数据库
sqlConnection1.close‘关闭连接 , 释放资源
2、用The OLE DB .NET Data Provider连接数据库
上面已经说过,利用The OLE DB .NET Data Provider可以访问Access、Oracle和SQL Server等种数据
库,那么,它是怎样访问这些数据库的呢?The OLE DB .NET Data Provider是通过位于名称空间Sy
stem.Data.OleDb类库下的OleDbConnection类来连接这三种不同类型的数据库的 。下面举例说明:
1)连接SQL Server数据库
Dim oleDbConnection1 As OleDb.OleDbConnection
Dim strConnect As Sting=”Provider=SQLOLEDB;Persist Security Info=False;Data Source=服务器名;Initial Catalog=数据库名;User ID=sa;Password=;”
oleDbConnection1=New System.Data.OleDb.OleDbConnection(strConnect)
2)连接Access数据库
假设要连接的Access数据库名为“Example.mdb” , 存放在d:\Data\目录下 。
Dim oleDbConnection1 As OleDb.OleDbConnection
Dim strConnect As Sting=”Provider=Microsoft.Jet.OLEDB.4.0;Data Source=d:\Data\ Example.mdb”
oleDbConnection1= New System.Data.OleDb.OleDbConnection(strConnect)
3)连接Oracle数据库
Dim oleDbConnection1 As OleDb.OleDbConnection
Dim strConnect As Sting=”Provider=MSDAORA;Data Source=服务器名;User ID=用户ID;Password=密码;”
oleDbConnection1= New System.Data.OleDb.OleDbConnection(strConnect)
3、用The ODBC .NET Data Provider连接数据库
The ODBC .NET Data Provider连接数据库是通过OdbcConnection类来实现的,这个类位于名称空间
Microsoft.Data.Odbc下 , 而名称空间Microsoft.Data.Odbc是封装在Microsoft.Data.Odbc.dll文件下的 。
由于篇幅有限,这里就只介绍连接Sql Server和Oracle数据库的方法,其他数据库的连接方法基本类
似 , 我就不再多讲了 。
1)连接Sql Server数据库
Dim odbcDbConnetion1 As Microsoft.Data.OdbcConnection
Dim strConnect As Sting=”Driver={SQL Server};Server=服务器名;Uid=sa;pwd=;Database= 数据库名;”
odbcDbConnetion1=New Microsoft.Data.OdbcConnection(strConnect)
2)连接Oracle数据库
Dim odbcDbConnetion1 As Microsoft.Data.OdbcConnection
Dim strConnect As Sting=”Driver={Microsoft ODBC for Oracle};Server=服务器名;Uid=sa;pwd=;”
odbcDbConnetion1=New Microsoft.Data.OdbcConnection(strConnect)
四、总结
通过本文的介绍 , 读者基本掌握了在Visual Basic.NET中用ADO.NET和ODBC.NET连接各种数据库的方法
。以上三种驱动针对不同的数据库,它们的性能方面也有很大的不同:The SQL Server .NET Data Provider
的效率最高;The OLE DB .NET Data Provider的效率比较底;The ODBC .NET Data Provider的效率最慢 。
具体连接哪一种数据库选用哪一种数据驱动要从工作效率方面来考虑 。
以上回答你满意么?
vb.net数据库操作参考一下下面这段代码就可以vb.net数据库流程了 。
ImportsSystem.Data
'引入数据库操作类命名空间
ImportsSystem.Data.OleDb
'引入ADO.NET操作命名空间
PublicClassFrmModifystInfo
InheritsSystem.Windows.Forms.Form
PublicADOcmdAsOleDbDataAdapter
PublicdsAsDataSet=NewDataSet()
'建立DataSet对象
PublicmytableAsData.DataTable
'建立表单对象
PublicmyrowAsData.DataRow
'建立数据行对象
PublicrownumberAsInteger
'定义一个整型变量来存放当前行数
PublicSearchSQLAsString
PubliccmdAsOleDbCommandBuilder
'======================================================
#Region"Windows窗体设计器生成的代码"
#EndRegion
'======================================================
PrivateSubFrmModifystInfo_Load(ByValsenderAsObject,ByValeAsSystem.EventArgs)HandlesMyBase.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'设置信息为只读
【vb.net数据库流程 vbnet数据库编程】DimtablenameAsString="student_Info "
SearchSQL="select*fromstudent_Info"
ExecuteSQL(SearchSQL,tablename)'打开数据库
ShowData()'显示记录
EndSub
PrivateSubShowData()
'在窗口中的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
EndSub
PrivateSubBtFirst_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesBtFirst.Click
'指向第一条数据
rownumber=0
ShowData()
EndSub
PrivateSubBtPrev_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesBtPrev.Click
'指向上一条数据
BtNext.Enabled=True
rownumber=rownumber-1
Ifrownumber0Then
rownumber=0'如果到达记录的首部vb.net数据库流程,行号设为零
BtPrev.Enabled=False
EndIf
ShowData()
EndSub
PrivateSubBtNext_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesBtNext.Click
'指向上一条数据
BtPrev.Enabled=True
rownumber=rownumber1
Ifrownumbermytable.Rows.Count-1Then
rownumber=mytable.Rows.Count-1'判断是否到达最后一条数据
BtNext.Enabled=False
EndIf
ShowData()
EndSub
PrivateSubBtLast_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesBtLast.Click
'指向最后一条数据
rownumber=mytable.Rows.Count-1
ShowData()
EndSub
PrivateSubBtDelete_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesBtDelete.Click
mytable.Rows.Item(rownumber).Delete()'删除记录
IfMsgBox( "确定要删除改记录吗vb.net数据库流程? ",MsgBoxStyle.OKCancelvbExclamation,"警告 ")=MsgBoxResult.OKThen
cmd=NewOleDbCommandBuilder(ADOcmd)
'使用自动生成的SQL语句
ADOcmd.Update(ds,"student_Info ")
BtNext.PerformClick()
EndIf
EndSub
PrivateSubBtModify_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesBtModify.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
EndSub
PrivateSubBtUpdate_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesBtUpdate.Click
IfNotTesttxt(TxtName.Text)Then
MsgBox( "请输入姓名! ",vbOKOnlyvbExclamation,"警告 ")
TxtName.Focus()
ExitSub
EndIf
IfNotTesttxt(ComboSex.Text)Then
MsgBox( "请选择性别! ",vbOKOnlyvbExclamation,"警告 ")
ComboSex.Focus()
ExitSub
EndIf
IfNotTesttxt(TxtClassno.Text)Then
MsgBox( "请选择班号! ",vbOKOnlyvbExclamation,"警告 ")
TxtClassno.Focus()
ExitSub
EndIf
IfNotTesttxt(TxtTel.Text)Then
MsgBox( "请输入联系电话! ",vbOKOnlyvbExclamation,"警告 ")
TxtTel.Focus()
ExitSub
EndIf
IfNotTesttxt(TxtAddress.Text)Then
MsgBox( "请输入家庭住址! ",vbOKOnlyvbExclamation,"警告 ")
TxtAddress.Focus()
ExitSub
EndIf
IfNotIsNumeric(Trim(TxtSID.Text))Then
MsgBox( "请输入数字学号! ",vbOKOnlyvbExclamation,"警告 ")
ExitSub
TxtSID.Focus()
EndIf
IfNotIsDate(TxtBornDate.Text)Then
MsgBox( "出生时间应输入日期格式(yyyy-mm-dd)! ",vbOKOnlyvbExclamation,"警告 ")
ExitSub
TxtBornDate.Focus()
EndIf
IfNotIsDate(TxtRuDate.Text)Then
MsgBox( "入校时间应输入日期格式(yyyy-mm-dd)! ",vbOKOnlyvbExclamation,"警告 ")
TxtRuDate.Focus()
ExitSub
EndIf
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=NewOleDbCommandBuilder(ADOcmd)
'使用自动生成的SQL语句
ADOcmd.Update(ds,"student_Info ")
'对数据库进行更新
MsgBox( "修改学籍信息成功! ",vbOKOnlyvbExclamation,"警告 ")
TxtName.Enabled=False
ComboSex.Enabled=False
TxtBornDate.Enabled=False
TxtClassno.Enabled=False
TxtRuDate.Enabled=False
TxtTel.Enabled=False
TxtAddress.Enabled=False
TxtComment.Enabled=False'重新设置信息为只读
EndSub
PrivateSubBtCancel_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesBtCancel.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
EndSub
PublicFunctionExecuteSQL(ByValSQLAsString,ByValtableAsString)
Try
'建立ADODataSetCommand对象
'数据库查询函数
ADOcmd=NewOleDbDataAdapter(SQL,"Provider=Microsoft.Jet.OLEDB.4.0;DataSource=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)
EndTry
EndFunction
EndClass
vb.net数据库流程的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于vbnet数据库编程、vb.net数据库流程的信息别忘了在本站进行查找喔 。
推荐阅读
- 如何营销10亿存款顾问,如何营销10亿存款顾问呢
- u盘怎么做启动模式,u盘做成启动
- 修改p标签css样式,p标签改颜色
- saperp陷阱,saperp怎么读
- 如何中断oracle回滚 oracle退出循环
- C#使用linux命令,linux c# gui
- 大白菜系统u盘怎么修复,大白菜u盘如何修复系统
- flutter还是小程序,flutter 小程序
- 包含windows7系统停用的词条