DataSet与DataAdapter


作者:云都小生


向DataSet对象手动添加数据



在数据库开发中,都是如何使用DataSet的呢?

首先我们已经明白,其实DataSet对象就是一个迷你数据库,而DataAdapter只是我们缓存、读取数据库数据的工具。

我们可以创建一个DataSet对象。

DataSet ds = new DataSet();

我们可以手动向这个DataSet填充数据。

//创建一张表
DataTable dt = new DataTable("TableName");

//为该表添加一个列
DataColumn col = new DataColumn("ColumnName",typeof(string));
dt.Columns.Add(col);

//为该表新增一条数据航
DataRow row = dt.NewRow();
row["ColumnName"] = "第一行数据";
dt.Rows.Add(row);

ds.Tables.Add(dt);


使用DataAdapter向DataSet对象填充数据


//创建一个DataSet对象
DataSet ds = new DataSet();

//指定一张表的名字
string tableName = "Student";

//指定数据库连接字符串
string connStr = "Server=.;Database=MySchool;integrated security=true;";

//指定数据库命令(获取所有学生的信息)
string cmdText = "select * from Student";

//创建SqlAdapter对象
SqlDataAdapter dap = new SqlDataAdapter(comText,connStr);

//将查询后的结果存放在ds中的tableName表
dap.Fill(ds,tableName);


使用SqlCommandBuilder


如果我们想将DataSet中修改的数据,更新到数据源(数据库),这个时候怎么办?

当然,我们可以选择自己手动的去写Sql语句,然后去执行,但是有一个更加便捷的方式。

我们直接创建SqlCommandBuilder对象。

SqlCommandBuilder builder = new SqlCommandBuilder(dap);

这里的dap是SqlDataAdapter对象。

dap.Update();

DataAdapter会分析已经做的更改并执行相应的命令,这样就节省了很多不必要的麻烦。

使用SqlCommandBuilder与SqlDataAdapter结合使用,可以方便地去数据库进行更新。只要指定Select 语句就可以自动生成Insert,update,delete语句,但要注意一点。Select 语句中返回的列要包括主键列,否则将无法产生Update,和Delete语句。

2018/2/14 9:50:30 @Author:云都小生

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值