之前看过王志鹏一片博客《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的区别》
以上是内存溢出为你收集整理的SQLServer中ADO,OLEDB,ODBC的区别全部内容,希望文章能够帮你解决SQLServer中ADO,OLEDB,ODBC的区别所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)