vb.net数据库编程(VB.NET连接数据库的几种方法)
大家好,今天来为大家解答vb.net数据库编程这个问题的一些问题点,包括VB.NET连接数据库的几种方法也一样很多人还不知道,因此呢,今天就来为大家分析分析,现在让我们一起来看看吧!如果解决了您的问题,还望您关注下本站哦,谢谢~
vb和vb.net的区别和特点
1、vb.net完全符合面向对象的编程语言抽象、封装、继承的四大特性,而vb不支持继承。
2、错误处理不同。
vb中只是On Error.....goto和On Errer Resume Next,这些错误称为非结构化异常处理。而在vb.net中采用的结构化异常处理机制,try...catch....finally控制。
3、两者产生的窗体不同。
vb.net允许创建不同类型的应用程序,例如,创建ASP.NET和ASP.NET Web服务应用程序,还允许创建控制台应用程序和作为桌面服务运行的应用程序。但是vb只能创建Windows窗体。
4、数据库访问的差别。
vb6.0是通过ADO(Active X Data Objext)来实现对数据库访问。而vb.net是通过ADO.NET来访问数据库。
扩展资料
Visual Basic(简称VB)是Microsoft公司开发的一种通用的基于对象的程序设计语言,为结构化的、模块化的、面向对象的、包含协助开发环境的事件驱动为机制的可视化程序设计语言。是一种可用于微软自家产品开发的语言。
“Visual”指的是开发图形用户界面(GUI)的方法——不需编写大量代码去描述界面元素的外观和位置,而只要把预先建立的对象add到屏幕上的一点即可。
“Basic”指的是 BASIC(Beginners All-Purpose Symbolic Instruction Code)语言,是一种在计算技术发展历史上应用得最为广泛的语言。
Visual Basic源自于BASIC编程语言。VB拥有图形用户界面(GUI)和快速应用程序开发(RAD)系统,可以轻易的使用DAO、RDO、ADO连接数据库,或者轻松的创建ActiveX控件,用于高效生成类型安全和面向对象的应用程序。
参考资料:百度百科-Visual Basic
VB.NET连接数据库的几种方法
Microsoft Visual Basic NET是Microsoft Visual Basic的更新版本它基于 NET的框架结构能使用户非常容易地创建Microsoft Windows操作系统和网络的应用程序使用Visual Basic NET可以快速地实现可视化开发网络应用程序网络服务 Windows应用程序和服务器端组件另外 Visual Basic NET为Windows应用程序提供了XCOPY部署开发人员不再需要为DLL的版本问题担忧 Visual Basic现在已经真正成为面向对象以及支持继承性的语言窗体设计器支持可视化继承并且包含了许多新的特性比如自动改变窗体大小资源本地化以及可达性支持数据类工具内在支持XML数据在设计时数据绑定使用断开的数据另外 Visual Basic NET直接建立在 NET的框架结构上因此开发人员可以充分利用所有平台特性也可以与其他的 NET语言交互在这篇文章中我要跟大家讲的是介绍Visual Basic NET的数据库编程及其相关知识
一先介绍ADO NET和ODBC NET
ADO NET由Microsoft ActiveX Data Objects(ADO)改进而来它提供平台互用和可收缩的数据访问功能是Visual Basic NET进行数据库编程所使用的重要工具 ADO NET使用了某些 ADO的对象如 Connection和 Command对象并且还引入了新的对象主要的新 ADO NET对象包括 DataSet DataReader和 DataAdapter
ODBC NET是 NET框架中另外一个很有用的用于数据库开发的类库但是在 NET FrameWork SDK版中不包含ODBC NET要使用ODBC NET请到微软网站下载具体下载地址//msdn microsoft/library/default asp?url=/downloads/list/netdevframework asp(文件名是odbc_net msi)在默认情况下安装路径是 C:\Program File\Microsoft net\odbc net安装后的组件名为Microsoft Data Odbc dll文件
添加ODBC NET Data Provider的步骤
启动Visual Basic NET开发环境选中菜单栏的[工具]—>[数据]—>[自定义工具箱]在弹出的[自定义工具箱]对话框中选[ Net框架组件]单击[浏览]按钮在 C:\Program File\Microsoft net\odbc net目录下选择Microsoft Data Odbc dll文件接下来就在[自定义工具箱]中选择 OdbcCommand OdbcCommandBuilder OdbcConnection OdbcDataApdater后单击[确定]至此完成了在Visual Basic NET中加入ODBC NET
二接下来介绍数据提供者(Data Provider)
ADO NET和ODBC NET两者共提供了三种数据提供者其中ADO NET提供两种(The SQL Server NET Data Provider和 The OLE DB NET Data Provider)ODBC NET提供一种(The ODBC NET Data Provider)表是三种数据提供者及其支持的数据库:
表三种数据提供者及其支持的数据库
三接下来就分别介绍以上几种数据提供者连接各种数据库
用The SQL Server NET Data Provider连接数据库
The SQL Server NET Data Provider是利用SqlConnection类来连接SQL Server或更高版本的数据库
SqlConnection类位于名称空间System Data SqlClient下
连接代码
Dim sqlConnection As SqlClient SqlConnection
Dim strConnect As String= data source=服务器名;initial catalog=数据库名;user id=sa;password=;
sqlConnection=New System Data SqlClient SqlConnection(strConnect)
sqlConnection open打开数据库
sqlConnection close关闭连接释放资源用The OLE DB NET Data Provider连接数据库
上面已经说过利用The OLE DB NET Data Provider可以访问Access Oracle和SQL Server等种数据库那么它是怎样访问这些数据库的呢?The OLE DB NET Data Provider是通过位于名称空间System Data OleDb类库下的OleDbConnection类来连接这三种不同类型的数据库的下面举例说明:
)连接SQL Server数据库
Dim oleDbConnection As OleDb OleDbConnection
Dim strConnect As Sting= Provider=SQLOLEDB;Persist Security Info=False;Data Source=服务器名;Initial Catalog=数据库名;User ID=sa;Password=;
oleDbConnection=New System Data OleDb OleDbConnection(strConnect))连接Access数据库
假设要连接的Access数据库名为 Example mdb存放在d:\Data\目录下
Dim oleDbConnection As OleDb OleDbConnection
Dim strConnect As Sting= Provider=Microsoft Jet OLEDB;Data Source=d:\Data\ Example mdb
oleDbConnection= New System Data OleDb OleDbConnection(strConnect))连接Oracle数据库
Dim oleDbConnection As OleDb OleDbConnection
Dim strConnect As Sting= Provider=MSDAORA;Data Source=服务器名;User ID=用户ID;Password=密码;
oleDbConnection= New System Data OleDb OleDbConnection(strConnect)用The ODBC NET Data Provider连接数据库
The ODBC NET Data Provider连接数据库是通过OdbcConnection类来实现的这个类位于名称空间Microsoft Data Odbc下而名称空间Microsoft Data Odbc是封装在Microsoft Data Odbc dll文件下的
)连接Sql Server数据库
Dim odbcDbConnetion As Microsoft Data OdbcConnection
Dim strConnect As Sting= Driver={SQL Server};Server=服务器名;Uid=sa;pwd=;Database=数据库名;
odbcDbConnetion=New Microsoft Data OdbcConnection(strConnect))连接Oracle数据库
Dim odbcDbConnetion As Microsoft Data OdbcConnection
Dim strConnect As Sting= Driver={Microsoft ODBC for Oracle};Server=服务器名;Uid=sa;pwd=;
odbcDbConnetion=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的效率最慢
lishixinzhi/Article/program/net/201311/15767用VB.Net创建三层的数据库程序
概论本文将介绍如何创建一个三层应用程序并且将介绍如何创建一个Web Service服务 ADO NET创建Windows三层结构应用程序的体系架构如下图所示该结构分三个层次表示层业务层数据层数据层代表物理数据库业务层负责数据层与表示层之间的数据传输表示层应用程序的客户端它通过业务层来访问数据库表示层所操作的是驻留在内存中的本地数据当需要更新数据库数据时要通过业务层提供的更新方法实现这样可以大大提高应用程序的性能而且什么时候更新数据完全由你决定提高了编程的灵活性实例:这里我们具体做一个实例来看看如何用VB NET创建三层结构的应用程序数据库我们选择SQL SERVER的NorthWind数据库业务层我们创建一个WebService作为中间层(需要安装IIS服务)表示层我们写一个Windows Form第一步创建WebService具体步骤如下新建一个项目选择ASP NET Web服务命名为 WebService For业务层添加两个Sql DataAdapter一个为Customer_da它指向NorthWind数据库的Customers表另一个为Order_da指向Northwind数据库的Orders表然后生成一个Typed DataSet(选择数据菜单的生成数据集)命名为 Super_ds数据库连接已经完成下一步我们将考虑它与表示层之间的通信这里我们定义两个方法一个为 Get_DataSet它返回一个Super_ds类型的数据集另一个为 Update_DataSet它负责更新数据库数据方法代码如下<WebMethod()> Public Function Get_Dataset() As super_ds customer_da Fill(Super_ds Customers) order_da Fill(Super_ds Orders) Return Super_ds End Function<WebMethod()> Public Sub Update_Dataset() Super_ds AcceptChanges() End Sub你可以运行测试一下你建立的这个WebService它将提供两个方法返回的DataSet是以XML表示的业务层的完整代码如下 Imports System Web Services Public Class Service Inherits System Web Services WebService Web Services Designer Generated Code……<WebMethod()> Public Function Get_Dataset() As super_ds customer_da Fill(Super_ds Customers) order_da Fill(Super_ds Orders) Return Super_ds End Function<WebMethod()> Public Sub Update_Dataset() Super_ds AcceptChanges() End Sub WEB SERVICE EXAMPLE The HelloWorld() example service returns the string Hello World To build unment the following lines then save and build the project To test this web service ensure that the a*** x file is the start page and press F<WebMethod()> Public Function HelloWorld() As String HelloWorld= Hello World End Function End Class第二步创建表示层具体步骤如下新建一个Windows应用程序命名为 Windows Form For表示层在窗体上添加一个DataGrid一个Button Button的text为 Load作用是从业务层读取数据在解决方案窗体中添加Web引用将我们自己建立的Web Service for业务层引入到当前项目中向Button的Click事件添加如下代码 Dim Customer_Ds As New localhost super_ds() Dim ser As New localhost Service() Customer_Ds Merge(ser Get_Dataset) DataGrid DataSource= Customer_Ds这里我们调用了Web Service的Get_DataSet函数 Update_DataSet方法的调用与此完全相同表示层的完整代码如下 Imports Data_Access_表示层 Public Class Form Inherits System Windows Forms Form#Region Windows Form Designer generated code Public Sub New() MyBase New() This call is required by the Windows Form Designer InitializeComponent() Add any initialization after the InitializeComponent() call End Sub Form overrides dispose to clean up the ponent list Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean) If disposing Then If Not(ponents Is Nothing) Then ponents Dispose() End If End If MyBase Dispose(disposing) End Sub Friend WithEvents Button As System Windows Forms Button Friend WithEvents Button As System Windows Forms Button Friend WithEvents Button As System Windows Forms Button Friend WithEvents Client_DataSet As Data_Access_表示层 localhost super_ds Friend WithEvents DataGrid As System Windows Forms DataGrid Required by the Windows Form Designer Private ponents As System ComponentModel Container NOTE: The following procedure is required by the Windows Form Designer It can be modified using the Windows Form Designer Do not modify it using the code editor<System Diagnostics DebuggerStepThrough()> Private Sub InitializeComponent() Me Button= New System Windows Forms Button() Me Button= New System Windows Forms Button() Me Button= New System Windows Forms Button() Me Client_DataSet= New Data_Access_表示层 localhost super_ds() Me DataGrid= New System Windows Forms DataGrid() CType(Me Client_DataSet System ComponentModel ISupportInitialize) BeginInit() CType(Me DataGrid System ComponentModel ISupportInitialize) BeginInit() Me SuspendLayout() Button Me Button Location= New System Drawing Point() Me Button Name= Button Me Button TabIndex= Me Button Text= load Button Me Button Location= New System Drawing Point() Me Button Name= Button Me Button TabIndex= Me Button Text= update Button Me Button Location= New System Drawing Point() Me Button Name= Button Me Button TabIndex= Me Button Text= clear Client_DataSet Me Client_DataSet DataSetName= Client_DataSet Me Client_DataSet Locale= New System Globalization CultureInfo( zh CN) Me Client_DataSet Namespace= DataGrid Me DataGrid DataMember= Me DataGrid Location= New System Drawing Point() Me DataGrid Name= DataGrid Me DataGrid Size= New System Drawing Size() Me DataGrid TabIndex= Form Me AutoScaleBaseSize= New System Drawing Size() Me ClientSize= New System Drawing Size() Me Controls AddRange(New System Windows Forms Control(){Me DataGrid Me Button Me Button Me Button}) Me Name= Form Me Text= Form CType(Me Client_DataSet System ComponentModel ISupportInitialize) EndInit() CType(Me DataGrid System ComponentModel ISupportInitialize) EndInit() Me ResumeLayout(False) End Sub#End Region Private Sub Button _Click(ByVal sender As System Object ByVal e As System EventArgs) Handles Button Click Dim Customer_Ds As New localhost super_ds() Dim ser As New localhost Service() Customer_Ds Merge(ser Get_Dataset) DataGrid DataSource= Customer_Ds End Sub End Class总结可见表示层窗体上完全没有数据库连接控件它与数据库的连接任务是通过业务层来完成的这样程序的结构更加清晰当然业务层的实现也可以用其他方法比如写一个自己的类来完成与数据库的数据传输 lishixinzhi/Article/program/net/201311/12618
好了,文章到此结束,希望可以帮助到大家。