解析VB.NET如何连接数据库

VB.NET连接数据库有很多方法,这里我们向大家主要介绍三种方法:用The SQL Server .NET Data Provider连接数据库;用The OLE DB .NET Data Provider连接数据库;用The ODBC .NET Data Provider连接数据库

AD:2013大数据全球技术峰会低价抢票中

在这篇文章中我要跟大家讲的,是介绍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语言交互。

一、先介绍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 SDK1.0版中不包含ODBC.NET,要使用ODBC.NET请到微软网站下载,具体下载地址:http://msdn.microsoft.com/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)。表1是三种数据提供者及其支持的数据库:

三、接下来就分别介绍以上几种数据提供者连接各种数据库

1、用The SQL Server .NET Data Provider连接数据库

The SQL Server .NET Data Provider是利用SqlConnection类来连接SQL Server7.0或更高版本的数据库,SqlConnection类位于名称空间System.Data.SqlClient下。

连接代码:

   
   
  1. DimsqlConnection1AsSqlClient.SqlConnection
  2. DimstrConnectAsString=”datasource=服务器名;initialcatalog=数据库名;userid=sa;password=;”
  3. sqlConnection1=NewSystem.Data.SqlClient.SqlConnection(strConnect)
  4. sqlConnection1.open‘打开数据库
  5. 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是通过位于名称空间System.Data.OleDb类库下的OleDbConnection类来连接这三种不同类型的数据库的。

下面举例说明:

1)VB.NET连接SQL Server数据库

    
    
  • DimoleDbConnection1AsOleDb.OleDbConnection
  • DimstrConnectAsSting=”Provider=SQLOLEDB;PersistSecurityInfo=False;DataSource=服务器名;InitialCatalog=数据库名;UserID=sa;Password=;”
  • oleDbConnection1=NewSystem.Data.OleDb.OleDbConnection(strConnect)
  • 2)VB.NET连接Access数据库

    假设要连接的Access数据库名为“Example.mdb”,存放在d:\Data\目录下。

        
        
  • DimoleDbConnection1AsOleDb.OleDbConnection
  • DimstrConnectAsSting=”Provider=Microsoft.Jet.OLEDB.4.0;DataSource=d:\Data\Example.mdb”
  • oleDbConnection1=NewSystem.Data.OleDb.OleDbConnection(strConnect)
  • 3)VB.NET连接Oracle数据库

        
        
  • DimoleDbConnection1AsOleDb.OleDbConnection
  • DimstrConnectAsSting=”Provider=MSDAORA;DataSource=服务器名;UserID=用户ID;Password=密码;”
  • oleDbConnection1=NewSystem.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文件下的。

    1)VB.NET连接Sql Server数据库

        
        
  • DimodbcDbConnetion1AsMicrosoft.Data.OdbcConnection
  • DimstrConnectAsSting=”Driver={SQLServer};Server=服务器名;Uid=sa;pwd=;Database=数据库名;”
  • odbcDbConnetion1=NewMicrosoft.Data.OdbcConnection(strConnect)
  • 2)VB.NET连接Oracle数据库

        
        
  • DimodbcDbConnetion1AsMicrosoft.Data.OdbcConnection
  • DimstrConnectAsSting=”Driver={MicrosoftODBCforOracle};Server=服务器名;Uid=sa;pwd=;”
  • odbcDbConnetion1=NewMicrosoft.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的效率最慢。

    具体连接哪一种数据库选用哪一种数据驱动要从工作效率方面来考虑。

    版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

    相关推荐


    Format[$] ( expr [ , fmt ] ) format 返回变体型 format$ 强制返回为文本 -------------------------------- 数字类型的格式化 --------------------------------     固定格式参数:     General Number 普通数字,如可以用来去掉千位分隔号     format$("100,1
    VB6或者ASP 格式化时间为 MM/dd/yyyy 格式,竟然没有好的办法, Format 或者FormatDateTime 竟然结果和系统设置的区域语言的日期和时间格式相关。意思是尽管你用诸如 Format(Now, "MM/dd/yyyy"),如果系统的设置格式区域语言的日期和时间格式分隔符是"-",那他还会显示为 MM-dd-yyyy     只有拼凑: <%response.write
    在项目中添加如下代码:新建窗口来显示异常信息。 Namespace My ‘全局错误处理,新的解决方案直接添加本ApplicationEvents.vb 到工程即可 ‘添加后还需要一个From用来显示错误。如果到这步还不会则需要先打好基础啦 ‘======================================================== ‘以下事件
    转了这一篇文章,原来一直想用C#做k3的插件开发,vb没有C#用的爽呀,这篇文章写与2011年,看来我以前没有认真去找这个方法呀。 https://blog.csdn.net/chzjxgd/article/details/6176325 金蝶K3 BOS的插件官方是用VB6编写的,如果  能用.Net下的语言工具开发BOS插件是一件很愉快的事情,其中缘由不言而喻,而本文则是个人首创,实现在了用V
    Sub 分列() ‘以空格为分隔符,连续空格只算1个。对所选中的单元格进行处理 Dim m As Range, tmpStr As String, s As String Dim x As Integer, y As Integer, subStr As String If MsgBox("确定要分列处理吗?请确定分列的数据会覆盖它后面的单元格!", _
      窗体代码 1 Private Sub Text1_OLEDragDrop(Data As DataObject, Effect As Long, Button As Integer, Shift As Integer, X As Single, Y As Single) 2 Dim path As String, hash As String 3 For Each fil
      Imports MySql.Data.MySqlClient Public Class Form1 ‘ GLOBAL DECLARATIONS Dim conString As String = "Server=localhost;Database=net2;Uid=root;Pwd=123456;" Dim con As New MySqlConnection
    ‘導入命名空間 Imports ADODB Imports Microsoft.Office.Interop   Private Sub A1() Dim Sql As String Dim Cnn As New ADODB.Connection Dim Rs As New ADODB.Recordset Dim S As String   S = "Provider=OraOLEDB.Oracl
    Imports System.IO Imports System.Threading Imports System.Diagnostics Public Class Form1 Dim A(254) As String    Function ping(ByVal IP As Integer) As String Dim IPAddress As String IPAddress = "10.0.
    VB运行EXE程序,并等待其运行结束 参考:https://blog.csdn.net/useway/article/details/5494084 Private Declare Function WaitForSingleObject Lib "kernel32" (ByVal hHandle As Long, ByVal dwMilliseconds As Long) As Long Pr
    今天碰到一个问题,登陆的时候,如果不需要验证手机号为空,则不去验证手机号 因为登陆的时候所有的验证信息都存放在一个数组里 Dim CheckUserInfo() As String ={UserBirthday, SecEmail, UserMob, UserSex, RealNameFirst, RealName, CheckCardID, CheckCardType, Contactemail
    在VB6.0中,数据访问接口有三种: 1、ActiveX数据对象(ADO) 2、远程数据对象(RDO) 3、数据访问对象(DAO) 1.使用ADO(ActiveX Data Objec,ActiveX数据对象)连接SQL Server 1)使用ADO控件连接 使用ADO控件的ConnectionString属性就可以连接SQL Server,该属性包含一个由分号分隔的argument=value语
    注:大家如果没有VB6.0的安装文件,可自行百度一下下载,一般文件大小在200M左右的均为完整版的软件,可以使用。   特别提示:安装此软件的时候最好退出360杀毒软件(包括360安全卫士,电脑管家等,如果电脑上有这些软件的话),因为现如今的360杀毒软件直接会对VB6.0软件误报,这样的话就可能会在安装过程中被误报阻止而导致安装失败,或者是安装后缺乏很多必须的组件(其它的杀毒软件或安全卫士之类的
    Private Sub Form_Load() Call conndb End Sub Private Function conndb() Dim cn As New ADODB.Connection Dim rs As New ADODB.Recordset Dim strCn, sql As String Dim db_host As String Dim db_user As String
      PPSM06S70:  Add  moddate  EDITSPRINTJOB:  MAX(TO_CHAR(ETRN.MODDATE, ‘yyyy/mm/dd/HH24:MI AM‘)) ACTUAL_SHIPDATE   4.Test Scenario (1) :Query SQL Test DN:8016578337 SELECT CTRN.TKCTID TRUCK_ID,        
      沒有出現CrystalReportViewer時,須安裝CRforVS_13_0. 新增1個數據集,新增1個數據表,添加二列,列名要和資料庫名一樣. 修改目標Framework 修改app.config, <startup >改成<startup useLegacyV2RuntimeActivationPolicy ="true">  CrystalReport1.rpt增加數據庫專家 在表單
    Imports System.Threading Imports System Public Class Form1 Dim th1, th2 As Thread Public Sub Method1() Dim i As Integer For i = 1 To 100 If Me.Label1.BackColor =
    Friend Const PROCESS_ALL_ACCESS = &H1F0FFF = 2035711 Friend Const PROCESS_VM_READ = &H10 Friend Const PROCESS_VM_WRITE = &H20 Friend Const PAGE_READONLY = &H2 Friend Const PAGE_READWRITE = &H4 Friend
    以下代码随手写的 并没有大量测试 效率也有待提升 如果需要C#的请自行转换 Function SplitBytes(Data As Byte(), Delimiter As Byte()) As List(Of Byte()) Dim i = 0 Dim List As New List(Of Byte()) Dim bytes As New
    Imports System.Data.SqlClient Public Class Form1 REM Public conn1 As SqlConnection = New SqlConnection("server=.; Integrated Security=False;Initial Catalog= mydatabase1; User ID= sa;password")