C#连接六类数据库的代码集

摘要:
本文列出了C#连接Access、SQLServer、Oracle、MySQL、DB2和SyBase六种不同数据库的程序源码和需要注意的点。strConnection这个变量里存放的是连接数据库所需要的连接字符串,他指定了要使用的数据提供者和要使用的数据源。“OleDbConnectionobjConnection=newOleDbConnection;”这一句是利用定义好的连接字符串来建立了一个链接对象,以后对数据库的操作我们都要和这个对象打交道。至此,与Access数据库的连接完成。 “password=”:连接数据库的验证密码为空。

本文列出了C#连接Access、SQL Server、Oracle、MySQL、DB2和SyBase六种不同数据库的程序源码和需要注意的点。

1.C#连接Access

程序代码:

1C#连接六类数据库的代码集第1张usingSystem.Data;
2C#连接六类数据库的代码集第1张usingSystem.Data.OleDb;
3C#连接六类数据库的代码集第1张..
4C#连接六类数据库的代码集第1张stringstrConnection="Provider=Microsoft.Jet.OleDb.4.0;";
5C#连接六类数据库的代码集第1张strConnection+=@"DataSource=C:BegASPNETNorthwind.mdb";
6C#连接六类数据库的代码集第1张OleDbConnectionobjConnection=newOleDbConnection(strConnection);
7C#连接六类数据库的代码集第1张..
8C#连接六类数据库的代码集第1张objConnection.Open();
9C#连接六类数据库的代码集第1张objConnection.Close();

解释:

连接Access数据库需要导入额外的命名空间,所以有了最前面的两条using命令,这是必不可少的!

strConnection这个变量里存放的是连接数据库所需要的连接字符串,他指定了要使用的数据提供者和要使用的数据源。

“Provider=Microsoft.Jet.OleDb.4.0;”是指数据提供者,这里使用的是Microsoft Jet引擎,也就是Access中的数据引擎,asp.net就是靠这个和Access的数据库连接的。

“Data Source=C:BegASPNETNorthwind.mdb”是指明数据源的位置,他的标准形式是“Data Source=MyDrive:MyPathMyFile.MDB”。

PS:
1.“+=”后面的“@”符号是防止将后面字符串中的“”解析为转义字符。
2.如果要连接的数据库文件和当前文件在同一个目录下,还可以使用如下的方法连接:

1C#连接六类数据库的代码集第1张strConnection+="DataSource=";
2C#连接六类数据库的代码集第1张strConnection+=MapPath("Northwind.mdb");

3.要注意连接字符串中的参数之间要用分号来分隔。

“OleDbConnection objConnection=new OleDbConnection(strConnection);”这一句是利用定义好的连接字符串来建立了一个链接对象,以后对数据库的操作我们都要和这个对象打交道。

“objConnection.Open();”这用来打开连接。至此,与Access数据库的连接完成。

2.C#连接SQL Server

程序代码:

1C#连接六类数据库的代码集第1张usingSystem.Data;
2C#连接六类数据库的代码集第1张usingSystem.Data.SqlClient;
3C#连接六类数据库的代码集第1张..
4C#连接六类数据库的代码集第1张stringstrConnection="userid=sa;password=;";
5C#连接六类数据库的代码集第1张strConnection+="initialcatalog=Northwind;Server=YourSQLServer;";
6C#连接六类数据库的代码集第1张strConnection+="ConnectTimeout=30";
7C#连接六类数据库的代码集第1张SqlConnectionobjConnection=newSqlConnection(strConnection);
8C#连接六类数据库的代码集第1张..
9C#连接六类数据库的代码集第1张objConnection.Open();
10C#连接六类数据库的代码集第1张objConnection.Close();
11C#连接六类数据库的代码集第1张

解释:

连接SQL Server数据库的机制与连接Access的机制没有什么太大的区别,只是改变了Connection对象和连接字符串中的不同参数。

首先,连接SQL Server使用的命名空间不是“System.Data.OleDb”,而是“System.Data.SqlClient”。

其次就是他的连接字符串了,我们一个一个参数来介绍(注意:参数间用分号分隔):
“user id=sa”:连接数据库的验证用户名为sa。他还有一个别名“uid”,所以这句我们还可以写成“uid=sa”。 
“password=”:连接数据库的验证密码为空。他的别名为“pwd”,所以我们可以写为“pwd=”。
这里注意,你的SQL Server必须已经设置了需要用户名和密码来登录,否则不能用这样的方式来登录。如果你的SQL Server设置为Windows登录,那么在这里就不需要使用“user id”和“password”这样的方式来登录,而需要使用“Trusted_Connection=SSPI”来进行登录。
“initial catalog=Northwind”:使用的数据源为“Northwind”这个数据库。他的别名为“Database”,本句可以写成“Database=Northwind”。
“Server=YourSQLServer”:使用名为“YourSQLServer”的服务器。他的别名为“Data Source”,“Address”,“Addr”。如果使用的是本地数据库且定义了实例名,则可以写为“Server=(local)实例名”;如果是远程服务器,则将“(local)”替换为远程服务器的名称或IP地址。
“Connect Timeout=30”:连接超时时间为30秒。

在这里,建立连接对象用的构造函数为:SqlConnection。

3.C#连接Oracle

程序代码:

1using System.Data.OracleClient;
2using System.Data;
3//在窗体上添加一个按钮,叫Button1,双击Button1,输入以下代码
4private void Button1_Click(object sender, System.EventArgs e)
5{
6string ConnectionString="Data Source=sky;user=system;password=manager;";
7//写连接串
8OracleConnection conn=new OracleConnection(ConnectionString);
9//创建一个新连接
10try
11{
12conn.Open();
13OracleCommand cmd=conn.CreateCommand();
14cmd.CommandText="select * from MyTable";
15//在这儿写sql语句
16OracleDataReader odr=cmd.ExecuteReader();
17//创建一个OracleDateReader对象
18while(odr.Read())
19//读取数据,如果odr.Read()返回为false的话,就说明到记录集的尾部了
20{
21Response.Write(odr.GetOracleString(1).ToString());
22//输出字段1,这个数是字段索引,具体怎么使用字段名还有待研究
23}
24odr.Close();
25}
26catch(Exception ee)
27{
28Response.Write(ee.Message);
29//如果有错误,输出错误信息
30}
31finally
32{
33conn.Close();
34 //关闭连接
35}
36}

4.C#连接MySQL

程序代码:
1using MySQLDriverCS;
2// 建立数据库连接
3MySQLConnection DBConn;
4DBConn = new MySQLConnection(new MySQLConnectionString("localhost","mysql","root","",3306).AsString);
5DBConn.Open();
6// 执行查询语句
7MySQLCommand DBComm;DBComm = new MySQLCommand("select Host,User from user",DBConn);
8// 读取数据
9MySQLDataReader DBReader = DBComm.ExecuteReaderEx();
10// 显示数据
11try
12{
13while (DBReader.Read())
14{
15Console.WriteLine("Host = {0} and User = {1}", DBReader.GetString(0),DBReader.GetString(1));
16}
17}
18finally
19{
20DBReader.Close();
21DBConn.Close();
22}
23//关闭数据库连接
24DBConn.Close();

5.C#连接IBM DB2

程序代码:

1C#连接六类数据库的代码集第1张OleDbConnection1.Open();
2C#连接六类数据库的代码集第1张//打开数据库连接3C#连接六类数据库的代码集第1张OleDbDataAdapter1.Fill(dataSet1,"Address");
4C#连接六类数据库的代码集第1张//将得来的数据填入5C#连接六类数据库的代码集第1张dataSetDataGrid1.DataBind();
6C#连接六类数据库的代码集第1张//绑定数据7C#连接六类数据库的代码集第1张OleDbConnection1.Close();
8C#连接六类数据库的代码集第1张//关闭连接
9C#连接六类数据库的代码集第1张//增加数据库数据在WebForm上新增对应字段数量个数的TextBox,及一个button,为该按键增加Click响应事件代码如下:this.OleDbInsertCommand1.CommandText="INSERTsintosADDRESS(NAME,EMAIL,AGE,ADDRESS)VALUES(’"+TextBox1.Text+"’,’"+TextBox2.Text+"’,’"+TextBox3.Text+"’,’"+TextBox4.Text+"’)";10C#连接六类数据库的代码集第1张OleDbInsertCommand1.Connection.Open();
11C#连接六类数据库的代码集第1张//打开连接12C#连接六类数据库的代码集第1张OleDbInsertCommand1.ExecuteNonQuery();
13C#连接六类数据库的代码集第1张//执行该SQL语句14C#连接六类数据库的代码集第1张OleDbInsertCommand1.Connection.Close();
15C#连接六类数据库的代码集第1张//关闭连接

6.C#连接SyBase

程序代码:

1C#连接六类数据库的代码集第1张Provider=Sybase.ASEOLEDBProvider.2;
2C#连接六类数据库的代码集第1张InitialCatalog=数据库名;
3C#连接六类数据库的代码集第1张UserID=用户名;DataSource=数据源;
4C#连接六类数据库的代码集第1张ExtendedProperties="";
5C#连接六类数据库的代码集第1张ServerName=ip地址;
6C#连接六类数据库的代码集第1张NetworkProtocol=Winsock;
7C#连接六类数据库的代码集第1张ServerPortAddress=5000;

免责声明:文章转载自《C#连接六类数据库的代码集》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇linux环境下mongodb启动操作JConsole远程配置下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

squid 访问日志记录

squid日志记录在squid.conf 也可记录。并且squid日志可以不记录静态项 在squid.conf 加入 (1)access_log /var/log/squid/access.log  squid        #定义日志存放记录 (2)不记录静态加入 acl nolog urlpath_regex -i .css .js .swf .jpg...

三层架构之优缺点

三层架构(3-tier application) 通常意义上的三层架构就是将整个业务应用划分为:表现层(UI)、业务逻辑层(BLL)、数据访问层(DAL)。区分层次的目的即为了“高内聚,低耦合"的思想。  1、表现层(UI):通俗讲就是展现给用户的界面,即用户在使用一个系统的时候他的所见所得。  2、业务逻辑层(BLL):针对具体问题的操作,也可以说是对数...

MongoDB学习笔记-06 数据库命令、固定集合、GridFS、javascript脚本

介绍MongoDB支持的一些高级功能: 数据库命令 固定大小的集合 GridFS存储大文件 MongoDB对服务端JavaScript的支持 数据库命令 命令的原理 MongoDB中的命令其实是作为一种特殊类型的查询来实现的,这些查询针对$cmd集合来执行。runCommand仅仅是接受命令文档,执行等价查询。 >db.runCommand({"dr...

C# DataTable.Select() 筛选数据

有时候我们需要对数据表进行筛选,微软为我们封装了一个公共方法, DataTable.Select(),其用法如下: Select() Select(string filterExpression) Select(string filterExpression, string sort) Select(string filterExpression,stri...

laravel框架实现商品订单加入到rabbitMQ队列

一、 创建一个任务类 php artisan make:job QueuedTest  //执行之后app/Jobs目录下生成一个QueuedTest.php 二、创建控制器 php artisan make:controller QueuedController 执行之后生成app/Http/Controllers/QueuedControlle...

微信小程序-上传多张图片加进度,持续修正中……

tips.参考网上资料的改进版 1.怎么使用.html <!--无限制需要在js代码里设置数量,upload为上传地址,或者说图片服务器 --> <up-pic url="{{upload}}"bindupImgData="upImgData"class='up-pic' notli/>...