作者:云都小生
向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:云都小生