对于不同的.net数据提供者,ADO.NET采用不同的Connection对象连接数据库。这些Connection对我们屏蔽了具体的实现细节,并提供了一种统一的实现方法。

Connection类有四种:SqlConnection,OleDbConnection,OdbcConnection和OracleConnection。

Sqlconnetcion类的对象连接是SQL Server数据库;OracleConnection类的对象连接Oracle数据库;OleDbConneetion连接支持OLE DB的数据库,如Access;而OdbcConnection类的对象连接支持ODBC的数据库。与数据库的所有通讯都是通过Connection对象来完成的。

这次先介绍使用OleDbonnection来链接各种数据源。

ADO.Net的数据访问对象有Connection,Command、DataReader和DataAdaper等,由于每种.NET Data Provider都有自己的数据访问对象,因此他们的使用方式相似。这里主要介绍OLEDB.NET Data Provider的各种数据访问对象的使用。

注意:OLEDB.NET数据提供程序的命名空间是System.Data.OleDb,在使用它时应该在引用部分增加该语句。使用不同的Connection对象需要导入不同的命名空间。OleDbConnection的命名空间为System.Data.OleDb。SqlConnection的命名空间为System.Data.SqlClient。OdbcConnection的命名空间为System.Data.Odbc。OracleConnection的命名空间为System.Data.OracleClinet。

OleDbConnection对象

在数据访问中首先必须建立到数据库的物理连接。OLEDB.NET Data Provider 使用OleDbConnection类的对象标识与一个数据库的物理连接。

1、OledbConnection类

OledbConnection类的常用属性如下表所示,其中的State属性取值及其说明如表14.7所示。

OleDbConnection类的常用属性及其说明

———————————————————————————

属性 说明

ConnectionString 获取或设置用于打开数据库的字符串

ConnectionTimeOut 获取在尝试建立连接时终止尝试并生成错误之前所等待的时间

Database 获取当前数据库或连接打开后要使用的数据库名称

DataSource 获取数据源的服务器名或文件名

Provider 获取在连接字符串的“Provider = ” 子句中指定的OLEDB提供程序的名称

State 获取连接的当前状态

———————————————————————————

State枚举成员值:

———————————————————————————

Connecting 连接对象正在与数据源连接

Executing 连接对象正在执行命令

Fetching 连接对象正在检索数据

Open 连接对象处于打开状态

———————————————————————————

OleDbConnection类的常用方法如下表所示:

———————————————————————————

Open 使用ConnectionString所指定的属性设置打开数据库连接

Close 关闭与数据库的连接,这是关闭任何打开连接的首选方法

CreateCommand 创建并返回一个与OleDbConnection关联的OleDbCommand对象

ChangeDatabase 为打开的OleDbConnection更改当前数据库

———————————————————————————

2、建立连接字符串ConnectionString

建立连接的核心是建立连接字符串ConnectionString,直接建立连接字符串的方式是先创建一个OleDbConnection对象,将其ConnectionString属性设置为如下:

Provider = Microsoft.Jet.OLEDB.4.0;Data Sourse = Access数据库;UserId = 用户名;Password = 密码;

其中Provider和DataSource是必选项,如果Access数据库没有密码,UserId和Password可以省略。由于Access数据库是基于文件的数据库,因此在实际项目中应该将Data Source的属性值转换为服务器的绝对路径。

最后用Open方法打开连接。

举例:

String sConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" + "Data Source=c:/test.xls;" + "Extended Properties=Excel 8.0;";

OleDbConnection cn = new OleDbConnection(sConnectionString);

string sqlCreate = "CREATE TABLE TestSheet ([ID] INTEGER,[Username] VarChar,[UserPwd] VarChar)";

OleDbCommand cmd = new OleDbCommand(sqlCreate, cn);

//创建Excel文件:C:/test.xls

cn.Open();

//创建TestSheet工作表

cmd.ExecuteNonQuery();

//添加数据

cmd.CommandText = "INSERT INTO TestSheet VALUES(1,'elmer','password')";

cmd.ExecuteNonQuery();

//关闭连接

cn.Close();

文章转载自:https://www.cnblogs.com/vaevvaev/p/6873367.html

c# oldb连接_(转)C#连接OleDBConnection数据库的操作相关推荐

  1. C#连接OleDBConnection数据库的操作

    对于不同的.net数据提供者,ADO.NET采用不同的Connection对象连接数据库.这些Connection对我们屏蔽了具体的实现细节,并提供了一种统一的实现方法. Connection类有四种 ...

  2. idea怎么和mysql连接并执行_IDEA配置mysql数据库的操作

    只需要添加Database即可 第一步:在界面最右边找到这个Database,找不到就在View中开启 第二步:选择Data Source,然后找到MySQL 第三步:按照如图所示连接 最上面为连接名 ...

  3. vs2013和mysql连接_安装VS2013后与数据库的连接问题

    安装VB2013后,会自动安装一个SQL Server 2012 Express LocalDB,而2013之前的版本安装的是SQL Server Express,这两者有以下差别: http://w ...

  4. mysql server远程连接_本地远程连接 MySQL server

    问题 MySql Server 出于安全方面考虑默认只允许本机(localhost, 127.0.0.1)来连接访问.如果想远程访问,需要额外做下操作. 配置修改 定位文件 /etc/mysql/my ...

  5. localhost 已拒绝连接_【Python】MongoDB数据库的连接和操作

    安装 Python 要连接 MongoDB 需要 MongoDB 驱动. pip安装: python3 -m pip3 install pymongo 创建数据库 import pymongo myc ...

  6. tableau无法建立连接_外部服务连接疑难解答 - Tableau

    本主题描述 Tableau 连接到外部分析扩展程序服务时可能会收到的错误. 注意:Tableau 技术支持人员无法协助编写.调整外部脚本或排除其问题. 与任何分析扩展程序通信时可能会发生的错误 错误消 ...

  7. 怎么在计算机里添加网络公共盘,网络共享怎么连接_电脑如何连接网络共享盘图文步骤...

    有时候我们在日常生活办公时,可能会需要共享文件,但是很多人都不知道应该如何操作.最近就有很多朋友问小编网络共享怎么连接的问题,我们应该如何连接网络共享盘呢?别着急,今天小编就为大家带来电脑如何连接网络 ...

  8. java jmx连接_使用JMX连接JVM

    什么是JMX? 什么是JMX,Java Management Extensions,即Java管理扩展,是一个为应用程序.设备.系统等植入管理功能的框架.JMX可以跨越一系列异构操作系统平台.系统体系 ...

  9. mysql update 左连接_使用左连接的MySQL更新查询

    表格式 表名:file_manager_folder Rows:id,parentId,name 我的查询模拟将文件夹移动到另一个文件夹,并使用IN(?)接受数组. 如果没有相同的parentId和n ...

最新文章

  1. pthread_cond_wait()加一个while为什么的解释
  2. PL/SQL学习笔记-过程
  3. 竟有如此沙雕的代码注释!
  4. 任我行二 - 高德地图篇1 - 显示地图
  5. 报错:不是可以识别的内置函数名称
  6. web服务器集群(多台web服务器)后session如何同步和共享
  7. 7月-伟大的事业,一般都是在下半年完成的
  8. Spark入门实战系列--3.Spark编程模型(上)--编程模型及SparkShell实战
  9. 从何润东代言团宝,看团购行业逐渐成熟
  10. dell重装系统后找不到无线网卡驱动
  11. 计算机的运算符号,运算符号包括哪些
  12. 奇迹之剑萌新晋升大神辅助攻略 奇迹之剑游戏脚本挂机工具介绍
  13. 谈如何归纳和分类美术风格比较合理
  14. android闪光灯测心率,MIUI 12新功能来了,通过闪光灯测心率,支持全部机型
  15. 无法打开编译的html,解决VS在编译的时候无法打开...obj文件的问题
  16. 【NOI2006】 生日快乐
  17. linux下也有很多好游戏
  18. 待定系数法求二阶常系数非齐次线性方程特解
  19. 九宫怎么排列和使用_剪映零基础入门教程第三十七篇:一学就会系列之九宫格小程序配音...
  20. java生成word 带表格_【java】Freemarker 动态生成word(带图片表格)

热门文章

  1. 用位运算实现有符号16bit数据clamp
  2. Codeforces 40 E. Number Table
  3. sharepoint2013用场管理员进行文档库的爬网提示没有权限,拒绝的解决方法
  4. 字典dictionary
  5. [特约· Keso ·东拉西扯] 我眼中的乔布斯
  6. 简单工厂(Simple Factory)模式
  7. html之CSS设计(文本、边框、列表标签、display设置、内外边距)
  8. 从零开始学前端:列表标签 --- 今天你学习了吗?(CSS:Day06)
  9. 枚举算法:概率计算。在标注编号分别为1,2,...,n的n张牌中抽取3张,试求抽出3张牌编号之和为素数的概率。输入整数n(3<n<=3000),输出对应的概率(四舍五入到小数点后第3位)。
  10. 微课|玩转Python轻松过二级(1.5节):安装扩展库