之前看过王志鹏一片博客《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的区别》
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。