ASP.NET基础教程-使用CommandBuilder对象自动生成SQL语句对数据进行批量更新
2007-10-04 19:15
2186 查看
用自己的INSERT、UPDATE与DELETE语句或存储过程将改变从DataSet推向数据库中需要编写大量代码。为了编写这些代码,可以用一个CommandBuilder对象,自动生成INSERT、UPDATE与DELETE命令,并在DataAdapter对象的InsertCommand、UpdateCommand、DeleteCommand属性中设置这些命令。当改变DataSet中的数据并调用DataAdapter的Update()方法时,运行自动生成的命令,将改变从DataSet推向数据库。
尽管利用CommandBuilder对象可以节省一些代码编写工作,但使用此对象时,要记住以下局限:
1、DataAdpater对象的SelectCommand命令只能从一个表中读取。
2、SelectCommand中使用的数据库表必须包含主键。
3、表格主键必须放在SelectCommand中。
4、CommandBuilder生成命令需要一定时间,因为它要检查数据库。
注意:由于CommandBuilder会使程序性能下降,因此应避免大数据量批量更新使用,为了提高性能,应使用存储过程
代码示例如下:
一、引入命名空间
using System.Data.SqlClient;//用于操作SQLSERVER数据库
using System.Configuration;//用于引用Web.config配置文件中的数据库连接语句
二、创建数据库连接和读取对象
private static SqlConnection con;
private static SqlDataAdapter da;
private static DataSet ds;
private static SqlCommandBuilder cb;
private static string oSql;
三、读取数据
private void Read_Data_Click(object sender, System.EventArgs e){
con=new SqlConnection(@ConfigurationSettings.AppSettings["server"] );
con.Open();
oSql="SELECT 部门,电话分类,电话,ID FROM 公司电话 ORDER BY 部门,电话分类";
da=new SqlDataAdapter(oSql,con);
cb=new SqlCommandBuilder(da);
ds=new DataSet();
da.Fill(ds,"公司电话");
con.Close();
dataGrid1.SetDataBinding(ds,"公司电话");
}
四、更新数据
private void Update_Data_Click(object sender, System.EventArgs e){
con.Open();
da.Update(ds,"公司电话");
con.Close();
MessageBox.Show("数据更新完毕");}
相关文章推荐
- ASP.NET基础教程-使用CommandBuilder对象自动生成SQL语句对数据进行批量更新
- CommandBuilder对象自动生成SQL语句对数据进行批量更新(单表)
- [翻译]Scott Mitchell 的ASP.NET 2.0数据教程之四十九:使用SqlDataSource插入、更新以及删除数据
- C#分析数据库结构,使用XSL模板自动生成代码 - 清清月儿 .NET万花筒 Asp.net技术 Asp.net教程 Asp.net源码 Asp.net基础 Asp.net控件 Asp.net入门 - CSDNBlog
- ASP.NET之数据库设计与SQL语句(旗舰版2)(使用ACCESS自动生成SQL语句,强大!)
- 【EntityFramework系列教程六,翻译】在ASP.NET MVC程序中使用EntityFramework对相关数据进行更新
- [网络收集]使用ASP.net(C#)批量上传图片并自动生成缩略图,文字水印图,图片水印图
- 【批量生成10万条sql数据库数据+IO流的使用】生成简单sql插入语句大量数据,以及输出流生成文件2017年
- ADO.NET—Asp.net 用DataSet对象更新数据(SqlDataAdapter)
- Scott Mitchell 的ASP.NET 2.0数据教程之三十七:: 批量更新
- Scott Mitchell 的ASP.NET 2.0数据教程之61:使用SQL Cache Dependencies
- C#自动给据sql中的带@的变量提取变量名称在从简单数据对象中取得生成SqlParameter数组进行数据插入(利用反射完成)
- 一步一步教你使用AgileEAS.NET基础类库进行应用开发-基础篇-使用UDA操纵SQL语句
- Asp.net 用DataSet对象更新数据(SqlDataAdapter)
- 一步一步教你使用AgileEAS.NET基础类库进行应用开发-基础篇-演示ORM的批量删除与更新
- 使用ASP.net(C#)批量上传图片并自动生成缩略图,文字水印图,图片水印图
- 使用ASP.net(C#)批量上传图片并自动生成缩略图,文字水印图,图片水印图
- Asp.Net 开发之(1) ---如何自动加载数据到页面或更新数据到数据容器中(基础控件)
- MySQL的源码安装及使用UDFs进行数据自动更新的教程
- 关于asp.net网站发布后,使用登录控件和注册控件时出现“数据库只读,无法进行数据更新”的解决方法