数据适配:DataAdapter对象概述
DataAdapter对象可用于执行数据库的命令操作,含有四个不同的操作命令,分别如下:
- SelectCommand:用来选取数据源中的记录:
- InsertCommand:用来向数据源中新插入一条记录:
- UpdateCommand:用来更新数据源中的数据:
- DeleteCommand:用来删除数据源中的记录
实例:
更新数据源DataAdapter的update方法可用来将dataset中的更改解析回数据源
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Data.SqlClient; using System.Data; namespace DataAdapter { class Program { public static void outvalus(DataSet ds) { foreach (DataTable outtb in ds.Tables) { foreach (DataRow outrow in outtb.Rows) { foreach (DataColumn outcl in outtb.Columns) { Console.Write(outrow[outcl] + "\t"); } Console.WriteLine(); } } } static void Main(string[] args) { string constr = "server=192.168.100.222;user=sa;pwd=p@ssw1rd;database=pwd1"; SqlConnection mycon = new SqlConnection(constr); try { mycon.Open(); SqlDataAdapter my = new SqlDataAdapter("select * from book", mycon); //离线访问数据集dataset需要用到DataAdapter 它起到一个适配的作用 //(比如电脑的适配器 把交流电适配成直流的) DataSet ds = new DataSet(); //创建数据集 my.Fill(ds, "book"); //DataAdapter填充方法 把数据库原表填充到DataSet数据集中 Console.WriteLine("修改前的数据"); foreach (DataTable outtable in ds.Tables) { foreach (DataColumn outcolu in outtable.Columns) { Console.Write(outcolu.ColumnName + "\t\t"); //输出DataSet中列的名称 } Console.WriteLine(); } outvalus(ds); Console.WriteLine("修改后的数据"); foreach (DataTable outtable in ds.Tables) { foreach (DataColumn outcolu in outtable.Columns) { Console.Write(outcolu.ColumnName + "\t\t"); //输出DataSet中列的名称 } Console.WriteLine(); } string sqlupdate = "update book set shuoming='K3账套备份' where bid=10001 ";//声明一个更新的字符串 my.UpdateCommand = new SqlCommand(sqlupdate,mycon); //利用dataadapter适配中的updatecommand属性来获取SqlCommand(更新字符串,数据库连接) DataRow row = ds.Tables[0].Rows[0]; //定义一个datarow row=dataset中第一个表第一行; row["shuoming"]="K3账套备份"; //行shuoming列=k3账套备份; my.Update(ds, "book"); //dataadapter中update方法来更新数据集中的book数据源 outvalus(ds); } catch (Exception ex) { Console.WriteLine(ex.Message.ToString()); } finally { mycon.Close(); } Console.ReadKey(); } } }