假设已创建了用于删除数据表记录的S①语句 strEel,并且 已建立了与 SQL Server数据库的连接对象conn,在程序中 通过 DataAdapter对象的 Delete Command属性删除记录的代 码如下: SqlCommand delCmd =new SqlCommand(str Del, conn);//EJ 建 Command对象 SqlData Adapter da= new SqlData Adapter;//创建 DataAdapter对象 conn Open(; da. Delete Command= deland;//设置 Data Adapter对象的 Delete Command属性 ■ da. Delete Command. Execute Query0;//执行 Delete Command代表的SO语句(删除记录) conn. Close
◼ 假设已创建了用于删除数据表记录的SQL语句strDel,并且 已建立了与SQL Server数据库的连接对象conn,在程序中 通过DataAdapter对象的DeleteCommand属性删除记录的代 码如下: ◼ SqlCommand delCmd = new SqlCommand(strDel, conn); //创 建Command对象 ◼ SqlDataAdapter da = new SqlDataAdapter(); //创建 DataAdapter对象 ◼ conn.Open(); ◼ da.DeleteCommand = delCmd; //设置DataAdapter对象的 DeleteCommand属性 ◼ da.DeleteCommand.ExecuteNonQuery(); //执行 DeleteCommand代表的SQL语句(删除记录) ◼ conn.Close();
2. Data Adapter对象的常用方法 DataAdapter对象的常用方法见表8-5 表8-5 DataAdapter对象的常用方法及说明 方法 用从源数据读取的数据行填充至 DataSet对象中 UpdateD 在 Data Set对象中的数据有所改动后更新数据源,包括 Data Set中每个已插入、已更新或已删 除的行(调用相应的 INSERT、 UPDATE或 DELETE语句),提交给数据库,使 DataSet与数据库 保持同步更新 FillSchemao 将一个 DataTable加入指定的 DataSet中,并配置表的模式 Get FillParameters( 返回一个用于 SELECT命令的 DataParameter对象组成的数组 Dispose 删除该对象
◼ 2.DataAdapter对象的常用方法 ◼ DataAdapter对象的常用方法见表8-5
1)填充数据集 使用 Data Adapter对象填充数据集的步骤如下。 ①创建数据库连接对象( Connection对象) ■②定义从数据库查询数据用的 Select se①语句。 ③利用①、②步中创建的 Connection对象和 Select SQ语句 ,创建 DataAdapter对象: SqlDataadapter da new SqlDataAdapter("Select SQLiF a Connection.对象); ④调用 DataAdapter对象的ri方法填充数据集,语法格式 如下 ■数据适配器对象名F训(数据集对象名,"数据表名称字符串 ); 如果数据集中没有“数据表名称字符串”这个数据表,贝 调用F诅方法后会创建该数据表。如果数据集中已经有这 个数据表,则把现在査出的数据添加到该数据表中
◼ (1)填充数据集 ◼ 使用DataAdapter对象填充数据集的步骤如下。 ◼ ① 创建数据库连接对象(Connection对象)。 ◼ ② 定义从数据库查询数据用的Select SQL语句。 ◼ ③ 利用①、②步中创建的Connection对象和Select SQL语句 ,创建DataAdapter对象: ◼ SqlDataAdapter da = new SqlDataAdapter("Select SQL语句", Connection对象); ◼ ④ 调用DataAdapter对象的Fill()方法填充数据集,语法格式 如下: ◼ 数据适配器对象名.Fill(数据集对象名, "数据表名称字符串 "); ◼ 如果数据集中没有“数据表名称字符串”这个数据表,则 调用Fill()方法后会创建该数据表。如果数据集中已经有这 个数据表,则把现在查出的数据添加到该数据表中
2)保存数据集中的数据 就像査询数据需要使用査询命令一样,在更新数据时也需 要有相关的命令。使用 SqlcommandBuilder对象(构造SQL 命令)可以自动生成需要的S①I命令。这样,把数据集中 修改过的数据保存到数据库中,只需要以下两个步骤 ①使用 SqlcommandBuilder对象为 DataAdapter对象自动生 成更新命令,语法格式如下: SqlCommand Builder对象名= new SqlcommandBuilder(数 据适配器对象名) 对象名:实例化一个 SqlCommandbuilder类对象的名称 ■数据适配器对象名:已创建的数据适配器对象名。 ②调用 Data Adapter对象的 Update0方法更新数据库,语法 格式如下: 数据适配器对象名 Update(数据集对象名,"数据表名称字 符串")
◼ (2)保存数据集中的数据 ◼ 就像查询数据需要使用查询命令一样,在更新数据时也需 要有相关的命令。使用SqlCommandBuilder对象(构造SQL 命令)可以自动生成需要的SQL命令。这样,把数据集中 修改过的数据保存到数据库中,只需要以下两个步骤。 ◼ ① 使用SqlCommandBuilder对象为DataAdapter对象自动生 成更新命令,语法格式如下: ◼ SqlCommandBuilder 对象名=new SqlCommandBuilder(数 据适配器对象名); ◼ 对象名:实例化一个SqlCommandBuilder类对象的名称。 ◼ 数据适配器对象名:已创建的数据适配器对象名。 ◼ ② 调用DataAdapter对象的Update()方法更新数据库,语法 格式如下: ◼ 数据适配器对象名.Update(数据集对象名, "数据表名称字 符串")
8.3使用 Data Set访问数据库 ■ Dataset的基本工作过程为:首先完成与数据库的连接, Dataset在存放 ASP.NET网站的服务器上为每个用户开辟 块内存,通过 Data Adapter(数据适配器),将得到的数据 填充到 Dataset中,然后把 DataSet中的数据发送给客户端 ASP.NET网站服务器中的 Dataset使用完以后,将释放 Datase所占用的内存。客户端读入数据后,在内存中保存 份 DataSet的副本,随后断开与数据库的连接 在这种方式下,应用程序所有针对数据库的操作都是指向 DataSet的,并不会立即引起数据库的更新。待数据库操作 完毕后,可通过 DataSet、 Data Adapter提供的方法将更新后 的数据一次性保存到数据库中
◼ DataSet的基本工作过程为:首先完成与数据库的连接, DataSet在存放ASP.NET网站的服务器上为每个用户开辟一 块内存,通过DataAdapter(数据适配器),将得到的数据 填充到DataSet中,然后把DataSet中的数据发送给客户端。 ◼ ASP.NET网站服务器中的DataSet使用完以后,将释放 DataSet所占用的内存。客户端读入数据后,在内存中保存 一份DataSet的副本,随后断开与数据库的连接。 ◼ 在这种方式下,应用程序所有针对数据库的操作都是指向 DataSet的,并不会立即引起数据库的更新。待数据库操作 完毕后,可通过DataSet、DataAdapter提供的方法将更新后 的数据一次性保存到数据库中。 8.3 使用DataSet访问数据库