ADO.NET在处理数据时,可分为连接式与断开式

创新互联坚持“要么做到,要么别承诺”的工作理念,服务领域包括:做网站、网站建设、企业官网、英文网站、手机端网站、网站推广等服务,满足客户于互联网时代的新巴尔虎左网站设计、移动媒体设计的需求,帮助企业找到有效的互联网解决方案。努力成为您成熟可靠的网络建设合作伙伴!
ADO.NET涉及到的主要对象:
连接对象:Connection
命令对象:Command
数据读取器对象:DataReader
数据适配器对象:DataAdapter
数据集对象: DataSet
下面是一个简单的ADO.NET连接式访问数据库的代码
- private static void ReadOrderData(string connectionString)
 - {
 - string queryString =
 - "SELECT OrderID, CustomerID FROM dbo.Orders;";
 - //此处使用using来自动释放connection
 - using (SqlConnection connection =
 - new SqlConnection(connectionString))
 - {
 - SqlCommand command =
 - new SqlCommand(queryString, connection);
 - connection.Open();
 - SqlDataReader reader = command.ExecuteReader();
 - // SqlDataReader 的默认位置在***条记录前面。因此,必须调用 Read 来开始访问任何数据
 - while (reader.Read())
 - {
 - Console.WriteLine(String.Format("{0}, {1}",
 - reader[0], reader[1]));
 - }
 - // 关闭reader
 - reader.Close();
 - //对于SqlConnection的MARS模式关闭的情况下,一次只能打开一个 SqlDataReader,在***个关闭之前,打开另一个的任何尝试都将失败。另外,在reader不关闭之前,相同的command.ExecuteReader();将会失败(无论是否为MARS)
 - }
 - }
 
接下来对上面这段代码做一些说明:
代码:
- Console.WriteLine(String.Format("{0}, {1}",
 - reader[0], reader[1]));
 
使用了reader的索引器,
索引器调用所的方法如下:
- override public object this[int i] {
 - get {
 - return GetValue(i);
 - }
 - }
 - override public object this[string name] {
 - get {
 - return GetValue(GetOrdinal(name));
 - }
 - }
 
(二)关于command的一些方法的说明
ExecuteNonQuery 对连接执行 Transact-SQL 语句并返回受影响的行数。 (重写 DbCommand..::.ExecuteNonQuery()()()。)
ExecuteReader 已重载。 将 CommandText 发送到 Connection 并生成一个 SqlDataReader。
ExecuteScalar 执行查询,并返回查询所返回的结果集中***行的***列。忽略其他列或行。 (重写
DbCommand..::.ExecuteScalar()()()。)
ExecuteXmlReader 将 CommandText 发送到 Connection 并生成一个 XmlReader 对象。
(三)关于connectionstring
以下是常用的几种connectionstring
- //基本
 - string baseconnstr="Data Source=myServerAddress;Initial Catalog=myDataBase;User Id=myUsername;Password=myPassword";
 - //MARS
 - string marsconnstr="Data Source=myServerAddress;Initial Catalog=myDataBase;User Id=myUsername;Password=myPassword;"
 - +"MultipleActiveResultSets=true"
 - //在app_data文件夹中的sqlexpress.mdf
 - string mdfDataDir="Server=.\SQLExpress;AttachDbFilename=|DataDirectory|mydbfile.mdf; Database=dbname;Trusted_Connection=Yes;"
 - //使用SQL集群故障转移
 - string mirrorconnstr="Data Source=myServerAddress;Failover Partner=myMirrorServerAddress;Initial Catalog=myDataBase;Integrated Security=True;"
 - //异步
 - string asynconnstr="Server=myServerAddress;Database=myDataBase;Integrated Security=True;Asynchronous Processing=True;"
 
MARS中,其实ADO.NET是对未关闭的sqlcommand挂起.所以datareader只能使用其各自的command实例.
                当前标题:浅析ADO.NET的相关知识
                
                标题来源:http://www.csdahua.cn/qtweb/news27/293877.html
            
网站建设、网络推广公司-快上网,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 快上网