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