加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

SQLServer中ADO,OLEDB,ODBC的区别

发布时间:2020-12-12 13:39:14 所属栏目:MsSql教程 来源:网络整理
导读:????????? 之前看过王志鹏一片博客《 sql server 数据库连接方式分析、详解 》一直以为连接数据库只有OLEDB和ODBC两种方式,因为自己可以肯定这次连接数据库使用的不是OLEDB方式。所以自己就断定使用的是?ODBC方式,因为自己想把自己的数据库连接改变为OLEDB

????????? 之前看过王志鹏一片博客《sql server 数据库连接方式分析、详解》一直以为连接数据库只有OLEDB和ODBC两种方式,因为自己可以肯定这次连接数据库使用的不是OLEDB方式。所以自己就断定使用的是?ODBC方式,因为自己想把自己的数据库连接改变为OLEDB方式尝试一下?,经过各种尝试发现自己的想法是错的,其实还有ADO和DAO这两种方式,?SQLServer连接VS是通过ADO这种方式连接数据库的。

三种方式的差别:

如果是ADO方式,则

????? 命名空间中引入的是:Imports System.Data.SqlClient

????? 连接数据库使用的相应对象为:SqlCommand,SqlConnection,SqlDataAdapter,SqlDataReader?? ????

????? 举例:

 Dim strconn As String = "server=localhost;uid=sa;pwd=123456654321;database=charge_sys"
??????? Dim strsql As String = "select * from User_Info"
??????? Dim conn As SqlConnection = New SqlConnection(strconn)
??????? Dim cmd As SqlCommand = New SqlCommand(strsql,conn)
??????? cmd.CommandType = CommandType.Text
??????? cmd.CommandTimeout = 0.1
??????? conn.Open()
??????? Dim rdr As SqlDataReader = cmd.ExecuteReader
??????? Dim dt As New DataTable
??????? dt.Load(rdr)
??????? rdr.Close()
??????? conn.Close()
??????? Return dt
?

如果是ODBC方式,则

???? 命名空间中引入的是:Imports System.Data.Odbc

???? 连接数据库使用的相应对象为:OdbcCommand,OdbcConnection,OdbcAdapter,OdbcDataReader?? ????

????? 举例:

Dim strconn As String = "Driver={sql server};server=localhost;uid=sa;pwd=123456654321;database=charge_sys"
        Dim strsql As String = "select * from User_Info"
        Dim conn As OdbcConnection = New OdbcConnection(strconn)
        Dim cmd As OdbcCommand = New OdbcCommand(strsql,conn)
        cmd.CommandType = CommandType.Text
        cmd.CommandTimeout = 0.1
        conn.Open()
        Dim rdr As OdbcDataReader = cmd.ExecuteReader
        Dim dt As New DataTable
        dt.Load(rdr)
        rdr.Close()
        conn.Close()
        Return dt


?

如果是OLEDB方式,则

????? 命名空间中引入的是:Imports System.Data.Oledb

????? 连接数据库使用的相应对象为:OledbCommand,OledbConnection,OledbAdapter,OledbDataReader?? ????

?????? 举例:

 Dim strconn As String = "Provider=SQLOLEDB;server=localhost;uid=sa;pwd=123456654321;database=charge_sys"
        Dim strsql As String = "select * from User_Info"
        Dim conn As OleDbConnection = New OleDbConnection(strconn)
        Dim cmd As OleDbCommand = New OleDbCommand(strsql,conn)
        cmd.CommandType = CommandType.Text
        cmd.CommandTimeout = 0.1
        conn.Open()
        Dim rdr As OleDbDataReader = cmd.ExecuteReader
        Dim dt As New DataTable
        dt.Load(rdr)
        rdr.Close()
        conn.Close()
        Return dt


????? 大家可以发现,其实数据库连接字符串是不同的,不同的连接机制,对应的数据库连接字符串是不同的,这点大家都知道,推荐大家看一下王志鹏一片博客《sql server 数据库连接方式分析、详解》还有我在csdn上看到的另外一片博客《ADO,OLEDB,ODBC,DAO的区别

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读