vb.net调用数据库 vb提供了三种数据库访问引擎

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如何调用ACCESS数据库中的数据

使用向导设置数据库连接的好处是省去写代码的过程,弊端是不易更改连接

使用代码连接的好处是需要编写代码,但容易更改和维护

如:数据库的位置变化,直接更改代码显然容易一些

代码:

imports System.data.oledb /*引用命名空间*/

dim cnstr = "provider=microsoft.jet.oledb.4.0,data source=Access数据库文件位置" /*定义连接字符串*/

dim cn as oledbconnection = new oledbconnection(cnstr) /*定义连接*/

cn.open() /*打开连接*/

sqlstr="select... from... 或其他sql"

dim cmd as sqlcommand=new sqlcommand()

cmd.commandtext=sqlstr

cmd.connection=cn

/*以上是建立执行语句*/

cmd.executenonquery() 不返回结果

cmd.executescalar() 返回单个结果

cmd.executereader() 返回结果集

/*以上是执行sql语句的方法*/

cn.close() /*关闭连接*/

你要做用户验证的话,先根据用户名查询对应的密码,再判断用户输入的密码和查询结果是不是相同就可以了

用cmd.executescalar() 这个方法

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.net2008中怎样调用资源文件中的MDB数据库

在此本人使用ADO对象访问ACCESS数据库,但ADO对象在使用前你先要进行添加,启动VB6后,单击菜单“工程-引用”,打开引用对话框,选择“Microsoft ActiveX Data Objects 2.0 Library”,将其勾选,(以2.0版本为例,实际可以选择系统中的最高版本如本人的就是2.6版本),然后在当前目录下建立一个名为“学生”的ACCESS数据库,其中表名为“表”,字段共有:学号,姓名,年龄,性别四个字段,接下来就是设计界面了(自己设计)

现在介绍如何使用代码访问ACCESS数据库:

在代码窗口中编写一个返回字符型的函数

Function Connection() As String

'数据库的连接设置配置

Connection = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" App.Path + "\学生.mdb"

End Function

该函数用于连接数据库用

Private Form_Load()

Dim cnn As New ADODB.Connection

Dim Rst As New ADODB.Recordset

cnn.Open Connection

Set Rst = New ADODB.Recordset

Rst.Open "select * from 表", cnn, adOpenKeyset, adLockOptimistic

End Sub

注:

Dim cnn As New ADODB.Connection创建一个ADO数据库连接对象

Dim Rst As New ADODB.Recordset为创建一个ADO数据库记录对象

select * from 表 是SQL查询语言,这里为数据源,意思就是打开数据库“学生”中的表“表”

下面是将数据库表中的字段值显示出来的一个过程

Sub View()

Dim i As Integer

For i = 0 To 2

Text1(i) = Rst.Fields(i)'text1为控件数组

Next

If (Rst.Fields(3) = True) Then

Text1(3) = "男"

Else

Text1(3) = "女"

End If

End Sub

要访问ACCESS数据库就这样可以实现,访问SQL也差不多,稍有不同,回答完毕,如还有问题请继续和我联系,本人是专使用VB+SQL/Delphi+SQL开发数据库管理系统的程序员。

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 中如何使用SQL语句查询数据库中的数据

1、首先打开Visual Studio 2008代码窗口,添加引用。

2、输入以下代码:Public conn1  As SqlConnection = New SqlConnection 。

3、声明关键字 Public;(因为是全局变量,所以用Public 来声明)。

4、如果SQL 数据库就在本机,则用以下代码连接。

5、如果代码太长,影响可读性,可以用空格加"_"后,回车换行即可。


当前文章:vb.net调用数据库 vb提供了三种数据库访问引擎
文章地址:http://azwzsj.com/article/docecsc.html