c#连接数据库总结

Connectiong(连接)对象
Commane(命令)对象


DataReader:数据读取器
数据读取器用来以只读或只向前模式来从数据源中检索数据
数据读取器使用Connection对象来连接数据库,使用Command对象类执行SQL语句或数据库中的过程
以顺序模式检索数据


DataSet(数据集)
DataSet是从数据源中检索到的数据在内存中的缓存。
DataSet就像一个数据库,其中包含表、行、列和关系。数据集通常与数据适配器一起使用.


DataAdapter(数据适配器)
DataAdapter 用作 DataSet 和数据源之间的桥接器以便检索和保存数据。
OleDbDataAdapter 、OdbcDataAdapter、SqlDataAdapter、OracleDataAdapter是DataAdapter 的子类。

使用DataAdapter操作数据库的过程

建立数据库连接(Connection)对象。
使用SQL语句和Connection对象建立数据适配器(DataAdapter)
如果需要更新数据,还需要配置DataAdapter的UpdateCommand、DeleteCommand 和 InsertCommand 对象。
建立DataSet对象,并使用DataAdapter进行数据填充(Fill)
将DataSet绑定到DataGrid等数据控件,就可以在Windows Form上展现数据
使用DataSet对象对内存中的数据集进行更新。
要提交更新,执行DataAdapter的Update方法,它将调用合适的Command进行数据库更新。
执行DataSet的AccepteChanges以让DataSet接受更新后的数据。


首先,连接SQL Server使用的命名空间是"System.Data.SqlClient".
其次就是他的连接字符串了,其中(注意:参数间用分号分隔):  “user id=sa”:连接数据库的验证用户名为sa.
他还有一个别名“uid”,所以这句我们还可以写成 " uid=sa ;
pwd =“; 连接数据库的验证密码为空.他的别名为"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.


连接SQL Server(要引入System.Data.SqlClient命名空间)
指定用户名和密码: Provider=SQLOLEDB;Data Source=服务器名;Initial Catalog=数据库名;User ID=账户名;Password=密码
Windows集成身份认证 Provider=SQLOLEDB;Data Source=服务器名;Initial Catalog=数据库名;Integrated=SSPI


string connectionString = @"Data Source=WIDOWSXP-73D5A6/SQLEXPRESS;        
            Initial Catalog=DBS;Integrated Security=True;Pooling=False";
            myConnection = new SqlConnection(connectionString);
            myConnection.Open();
Integrated Security=true;      
当为false时,将在连接中指定用户ID和密码。
当为 true 时,将使用当前的Windows  帐户凭据进行身份验证.
可识别的值为true、false、yes、no以及与 true 等效的sspi。


pooling=false就是关闭连接池的意思,默认为true,启用连接池。
连接池就是有一些与数据库的连接放在里面,
建立新的连接时系统会先看里面有没有一样的连接,有就不用新建了。
最好是用连接池,默认情况下也是使用连接池的。


conn = new OleDbConnection("Provider=SQLOLEDB;
Data Source=.;User ID=sa;Initial Catalog=dbShopping");

Provider=SQLOLEDB.1 ------打开数据库用oledb的方式连接
Persist Security Info ----是否保存安全信息
User ID-------------------用户名
PassWord------------------密码
Initial Catalog-----------数据库的名称或者数据库ip或者目录
Data Source---------------数据源

 
C#连接Access和SQL Server数据库
   
连接Access

首先看一个例子代码片断:
程序代码:

--------------------------------------------------------------------------------
using System.Data;
using System.Data.OleDb;

......

string strConnection=Provider=Microsoft.Jet.OleDb.4.0;;
strConnection+=@Data Source=C:/BegASPNET/Northwind.mdb;

OleDbConnection objConnection=new OleDbConnection(strConnection);

......

objConnection.Open();
objConnection.Close();

......

--------------------------------------------------------------------------------

解释:

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

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

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

 Data Source=C:/BegASPNET/Northwind.mdb是指明数据源的位置,他的标准形式是Data Source=MyDrive:MyPath/MyFile.MDB.

ps:
 1.+=后面的@符号是防止将后面字符串中的/解析为转义字符.
 2.如果要连接的数据库文件和当前文件在同一个目录下,还可以使用如下的方法连接:
  strConnection+=Data Source=;
  strConnection+=MapPath(Northwind.mdb);
  这样就可以省得你写一大堆东西了!
 3.要注意连接字符串中的参数之间要用分号来分隔.

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

 objConnection.Open();这用来打开连接.至此,与Access数据库的连接完成.其余操作(插入,删除...)请参阅相关书籍

连接SQL Server

例子代码片断:
程序代码:


--------------------------------------------------------------------------------

using System.Data;
using System.Data.SqlClient;

...

string strConnection=user id=sa;password=;;
strConnection+=initial catalog=Northwind;Server=YourSQLServer;;
strConnection+=Connect Timeout=30;

SqlConnection objConnection=new SqlConnection(strConnection);

...

objConnection.Open();
objConnection.Close();

...

--------------------------------------------------------------------------------

解释:

连接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.

 其余的就和Access没有什么区别了!

 

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/xiaoqinglang/archive/2009/01/29/3854380.aspx

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值