ADO.net学习纪录 (二)

原创 2003年07月27日 11:28:00

更新数据源的方法
 
 1,Command对象
  更新需要的属性:
   Connection    包含数据仓库连接的细节
   CommandText   要运行的命令
   CommandType   命令的类型 Sql字符或存储过程的名称
          Text   表示文本字符串sql
          TableDirect 表示表名
          StoredProcedure 表示存储过程的名称
   Parameters    Parameters对象的一个集合

 2,DataAdapter对象
   注意DataAdapter和Command的区别?
   >> Command主要用于运行命令
   >> DataAdapter主要用于为多个命令提供一个存储空间,在数据仓库和DataSet之间提供    双向交互。
  哦,一个Command对象只能处理查询,添加,删除,修改中的一种
  因此 DataAdapter用四个属性存储四种Command对象
  属性如下 SelectCommand,UpdateCommand,InsertCommand,DeleteCommand  

 3,CommandBuilder对象
  OleDbCommandBuilder objBuilder
  objBuilder = new OleDbCommandBuilder(DataAdapter)
  表示告诉命令生成器可以在哪儿取到SelectCommand,以建立其他的命令.
 
  DataAdapter.UpdateCommand = objBuilder.GetUpdateCommand();
  DataAdapter.InsertCommand = objBuilder.GetInsertCommand();
  DataAdapter.DeleteCommand = objBuilder.GetDeleteCommand();
  
  注意在这种情况下,SelectCommand必需带有一个主键字段

 4.DataAdapter.Update()
  
  DataAdapter.Update(DataSet,"Tablesname");
 
 例如,以下代码确保首先处理表中已删除的行,然后处理已更新的行,然后处理已插入的行。
 [C#]
 DataTable updTable = custDS.Tables["Customers"];

 // First process deletes.
 custDA.Update(updTable.Select(null, null, DataViewRowState.Deleted));

 // Next process updates.
 custDA.Update(updTable.Select(null, null, DataViewRowState.ModifiedCurrent));

 // Finally, process inserts.
 custDA.Update(updTable.Select(null, null, DataViewRowState.Added));
 
 其中DataViewRowState数据视图的操作属性 包括Deleted, ModifiedCurrent,Added,Unchanged等
 
 至此,更新数据仓库工作完成。

[2003-05-28]
 
 使用存储过程
 
 存储过程类似于代码中的函数,它存储在数据服务器上并有一个名称。
 为什么要使用存储过程?
  1.庞大复杂的SQL语句影响程序代码的阅读
  2.由数据库服务器来处理的存储过程比直接使用SQL语句更快,效率更高
 
  要使用存储过程,需要注意的是CommandType设为StoredProccess CommandText为存储过程的名称
 
  eg: objCmd.CommandText = "[Sales by Category]";
      objCmd.CommandType = CommandType.StoreProcedure; 
 
  
使用XML
 由于ADO.net设计时就考虑到了XML,它处理XML数据就像是这些数据来自于一个数据库

 1,写入XML文件
  objAdapter.Fill(objDataSet,"Employees"); //填充结果集
  objDataSet.WriteXml(Server.MapPath("Employees.xml"));//写入到xml文件
 注意两点:
  1,首先用到了DataSet的WriteXml()方法,从DataSet中提取信息并格式化xml
  2,Server.MapPath()表示生成文件路径,指向当前应用程序的目录
 2,读取XML文件
  objDataSet.ReadXml(Server.MapPath("Employees.xml"));
 
 3,将Xml转换为字符串
  string strXML,strSchema
  strXML = objDataSet.GetXml()
  strSchema = objDataSet.GetXmlSchema()
 4,一旦XML读入到DataSet中他就同从数据库中读入的数据没有任何区别,也可以进行前面任何的
 操作,最终只要将操作的结果集DataSet写入至XML或者数据库都可以

一个简单的ADO.NET C# 数据库操作实例

本篇文章以 ADO.NET 访问SQL SERVER 数据库为例,介绍一下ADO.NET C# 对数据库的操作语法。连接其他数据库时,可能语法上稍微有一点点差别,但步骤与SQL SERVER 想类似。...
  • shuai_wy
  • shuai_wy
  • 2017年07月12日 16:38
  • 1422

漫谈 ADO.NET之四大核心对象

本人热爱Java,可最终做了c#工作,人生之一大憾事,俗话说,水浅王八多,遍地是大哥,也只好苟存于社会的残垣瓦砾之下! 下面是第一次使用四个“小对象”的具体实现代码 (Oracle 数据库) u...
  • who_is_that
  • who_is_that
  • 2016年06月27日 15:47
  • 477

ado.net 学习小结

连接数据源 Connection对象。Connection对象处于最顶层,是所有数据访问请求的关口。我们通过其暴露的属性进行配置。下面是一段连接字符串的示例。   1 if (stri...
  • linkunhao123
  • linkunhao123
  • 2015年12月22日 10:01
  • 113

ADO.NET学习笔记(一)

ADO.NET创建基于服务的数据库并运用步骤如下:   0.打开VS,创建相应的解决方案,建立相应的窗体应用程序。   1.建立基于服务的附加数据库。   2.建立新表方法一:直接建...
  • zhx278171313
  • zhx278171313
  • 2013年09月08日 12:59
  • 780

ADO.NET学习笔记(二)

7.附加几种基于服务的数据库连接代码: (0)插入数据注册用户: using System; using System.Collections.Generic; using System....
  • zhx278171313
  • zhx278171313
  • 2013年09月08日 13:03
  • 607

【Ado.Net】基础知识+简单实例

为什么要学Ado.Net?  作为程序员,我们一般都可以在Sql Server 的查询分析器里面查看和操作数据库中的数据。但是普通的用户如果要查看和操作数据库中的数据,在查询分析器里面就不会了,我们不...
  • Gnd15732625435
  • Gnd15732625435
  • 2017年02月04日 21:59
  • 346

c++使用ADO和C#使用ADO.net

#include      #include   #include time.h>   #include   using   namespace   std;     #im...
  • Q_Q1111
  • Q_Q1111
  • 2014年10月09日 09:44
  • 153

C++ 通过ADO.Net实现与MySql数据库连接 入门教程

C++ 通过ADO.Net实现与MySql数据库连接 入门教程前言
  • u013978977
  • u013978977
  • 2016年07月15日 17:15
  • 588

ADO和ADO.NET的区别

ADO.NET是ADO的后继版本,主要目的是在.NET Framework中更容易地创建分布式、 数据共享的应用程序,它提供了一个数据访问接口,以便和OLE DB数据源进行通信,如 SQL S...
  • ZHOUCHAOQIANG
  • ZHOUCHAOQIANG
  • 2014年04月30日 10:11
  • 4132

ADO.NET 之核心组成对象

引言:在当今数据信息丰富的时代,计算机领域中使用数据库来存储信息和访问信息,但是本身数据库种类有很多,例如SQL Server,Oracle,Access,MySql等,因此,如何能更加高效、更加...
  • u013067402
  • u013067402
  • 2015年05月17日 16:54
  • 1339
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:ADO.net学习纪录 (二)
举报原因:
原因补充:

(最多只允许输入30个字)