之前看过王志鹏一片博客《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的区别相关推荐

  1. ADO, OLEDB, ODBC, DAO的区别

    ADO, OLEDB, ODBC, DAO的区别 ADO, OLEDB, ODBC, DAO的区别 ODBC(Open Database Connectivity,开放数据库互连) DAO(Data ...

  2. ADO,OLEDB,ODBC,DAO的区别

    ADO NET OLEDB ODBC连接数据库的区别 http://www.doc88.com/p-976312043296.html http://blog.csdn.net/ithomer/art ...

  3. .NET中的OleDb,Odbc的Parameters

    OleDb,Odbc使用Parameters,SQL语句中参数使用"?",在Parameters.Add()时,添加的参数是与SQL中的问号一一对应的,而并不在乎 两个参数名是否一 ...

  4. SqlServer中char,varchar,nchar,nvarchar的区别

    在数据库中建表时,总是习惯的将一些字段定义为nvarchar,但关于它和nchar的区别,却没有细究过,今天上网仔细了解一下做个总结: 1.n代表的是Unicode字符,可以解决多语言字符集之间的转换 ...

  5. mysql 和 sqlserver中备份一张表的区别

    sqlserver中备份一张表 SELECT * into qa_buglist_bak FROM qa_buglist 不管表的数据有多大,速度很快: mysql中上述语句就无效了,须得新建一张表, ...

  6. sqlserver中window身份验证跟sql server身份验证的区别

    1.集成的Windows身份验证语法 1 string constr = "server=.;database=myschool;integrated security=SSPI" ...

  7. SQLSERVER中的ALL、PERCENT、CUBE关键字、ROLLUP关键字和GROUPING函数

    SQLSERVER中的ALL.PERCENT.CUBE关键字.ROLLUP关键字和GROUPING函数 先来创建一个测试表 1 USE [tempdb] 2 GO 3 4 CREATE TABLE # ...

  8. 从sqlserver中数据写入mysql_从SQL server数据库导入Mysql数据库的体验

    起原:网海拾贝  ,因任务需要,要将寄存在sqlserver数据库中的数据全部导入到mysql数据库中,在网上集合关连资料,找到两种体例,而今分袂谈谈对他 起原:网海拾贝 因任务需要,要将寄存在sql ...

  9. 我是如何在SQLServer中处理每天四亿三千万记录的

    原文地址:http://www.cnblogs.com/marvin/p/HowCanIHandleBigDataBySQLServer.html 首先声明,我只是个程序员,不是专业的DBA,以下这篇 ...

最新文章

  1. “安卓之父”的新公司倒了:拿到腾讯投资,成为硅谷独角兽,五年只出了一款手机...
  2. oh-my-robot
  3. BLE-NRF51822教程8-动态广播
  4. sqlite3数据库操作小记
  5. python中的字体英文名_对python opencv 添加文字 cv2.putText 的各参数介绍
  6. php 商城套餐搭配功能,速卖通商品搭配套餐功能已上线!设置速卖通搭配套餐仅需三步...
  7. 参考平面及其高度_柱面及其方程
  8. 动态规划算法分析与探究
  9. 【BZOJ1901】Zju2112 Dynamic Rankings
  10. 宝马纯电动i4原型车谍照曝光 预计2021年上市
  11. xml实现删除一个节点
  12. 中国创客面临无限挑战
  13. 如何使用APUE源代码(UNIX高级编程)-转
  14. R语言学习笔记-Error in ts(x):对象不是矩阵问题解决
  15. Java并发编程中锁的正确使用方法
  16. 【JAVA】利用MOM消息队列技术实现分布式随机信号分析系统
  17. 普元eos java_普元EOS 案例
  18. mp4文件如何转换为webm格式 1
  19. 是程序员的都得知道为啥1024是程序员节
  20. 穿越技术火线,聆听内心声音——暨龙泉第三届IT禅修营

热门文章

  1. 成都女孩子报Java语言培训班怎么样_Java好就业吗?
  2. SSH不能传输文件问题
  3. 【Matlab系列】常用模拟和数字通信系统仿真及Matlab实现
  4. 基于模型的无人机开发
  5. ubuntu 终端常用命令大全
  6. Linux关闭防火墙和端口号问题
  7. android 电池监测工具,Battery Monitor Widget Pro(电池监测器)
  8. 如何进行接口测试(一篇学会)
  9. Python自学笔记(二)命令行参数使用
  10. IDEA 新手使用手册