ADO.NET学习之SqlCommandBuilder

ADO.NET学习之SqlCommandBuilder

SqlCommandBuilder

SqlCommandBuilder automatically generates INSERT, UPDATE and DELETE sql statements based on the SELECT statement for a single table.

SqlCommandBuilder会基于单个表的SELECT语句,自动生成INSERTUPDATEDELETEsql语句。

使用SqlCommandBuilder的两个步骤:
1.设置SqlDataAdapterSelectCommand属性

SqlDataAdapter dataAdapter = new SqlDataAdapter();
dataAdapter.SelectCommand = new SqlCommand("SELECT_Query", con);

2.创建SqlCommandBuilder 的一个实例,并制定其DataAdapter 属性的值

SqlCommandBuilder builder = new SqlCommandBuilder();
builder.DataAdapter = dataAdapter;

也可以一步完成,如下:

SqlCommandBuilder builder = new SqlCommandBuilder(dataAdapter);

通过例子说明
准备工作
1.创建表tblStudents,并添加数据

Create Table tblStudents
(
 ID int identity primary key,
 Name nvarchar(50),
 Gender nvarchar(20),
 TotalMarks int
)

Insert into tblStudents values('Mark Hastings','Male',900)
Insert into tblStudents values('Pam Nicholas','Female',760)
Insert into tblStudents values('John Stenson','Male',980)
Insert into tblStudents values('Ram Gerald','Male',990)
Insert into tblStudents values('Ron Simpson','Male',440)
Insert into tblStudents values('Able Wicht','Male',320)
Insert into tblStudents values('Steve Thompson','Male',983)
Inser
  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1,主界面 2查询功能 ‘ private void chaxun_Click(object sender, System.EventArgs e) { SqlConnection thisConnection=new SqlConnection("Data Source=LocalHost;Integrated Security=SSPI;Initial Catalog=李梦然07060021"); //表示到SQL Server的一个实例的连接 SqlCommand thisCommand=new SqlCommand("select * from student where sno='"+textBox1.Text+"'",thisConnection); SqlDataAdapter thisAdapter=new SqlDataAdapter(); thisAdapter.SelectCommand=thisCommand; DataSet thisDataSet=new DataSet(); thisConnection.Open(); thisAdapter.Fill(thisDataSet, "student"); //在运行时设置 dataGrid1的数据源和数据成员属性,即在dataGrid1中显示数据集中的数据 dataGrid1.SetDataBinding(thisDataSet,"student"); thisConnection.Close(); } 3浏览功能 private void liulan_Click(object sender, System.EventArgs e) { //用SqlConnection对象连接SQL Server数据库魏菊丽20086666 SqlConnection thisConnection=new SqlConnection("Data Source=LocalHost;Integrated Security=SSPI;Initial Catalog=李梦然07060021"); SqlDataAdapter thisAdapter=new SqlDataAdapter(); DataSet thisDataSet=new DataSet(); //创建并返回一个与SqlConnection相关联的SqlCommand 对象 SqlCommand thisCommand=thisConnection.CreateCommand(); thisCommand.CommandText="select * from student";//获取或设置要对数据源执行的SQL语句 thisAdapter.SelectCommand =thisCommand ;//获取一个SQL语句,用于在数据源中选择记录 thisConnection.Open();//打开本次设置的数据库连接 thisAdapter.Fill(thisDataSet,"student");//将以上在数据源student中选择的记录的所有行填充到数据集中。 thisConnection.Close();//断开本次数据库连接 //在运行时设置 dataGrid1的数据源和数据成员属性,即在dataGrid1中显示数据集中的数据 dataGrid1.SetDataBinding(thisDataSet,"student"); } 4,插入一个新列 private void button1_Click(object sender, System.EventArgs e) { SqlConnection thisConnection=new SqlConnection("Data Source=LocalHost;Integrated Security=SSPI;Initial Catalog=李梦然07060021"); SqlDataAdapter thisAdapter=new SqlDataAdapter(); DataSet thisDataSet=new DataSet(); SqlCommand thisCommand=thisConnection.CreateCommand(); thisCommand.CommandText="select * from student "; thisAdapter.SelectCommand =thisCommand ; thisConnection.Open(); SqlCommandBuilder thisBuilder = new SqlCommandBuilder(thisAdapter); thisAdapter.Fill(thisDataSet, "student"); DataRow thisRow=thisDataSet.Tables["student"].NewRow();//在 数据集的student Table中创建新行 thisRow["sno"]="21";thisRow["sname"]="李梦然";thisRow["ssex"]="男";thisRow["thirthday"]="1987-7-31";thisRow["class"]="95001";//设置新行中的个字段值 thisDataSet.Tables["student"].Rows.Add(thisRow);//将新行添加到数据集的student Table中 thisAdapter.Update(thisDataSet,"student");// 修改数据库表 //以下显示添加后表中的数据 thisCommand.CommandText="select * from student "; thisAdapter.SelectCommand =thisCommand ; dataGrid1.SetDataBinding(thisDataSet,"student"); thisConnection.Close(); }
ADO.NET 2.0技术内幕(高清 中文 带书签 全) 编辑推荐 核心主题全面涵盖,深入剖析个人精髓;示例丰富,同时提供Visual Basic和Visual C#两种版本;独特的常见问题解析方式可使难题迎刃而解。 引导开发人员创建分布式、以数据为中心的应用程序的权威指南。 本书可以使您的专业知识不再停留在基础阶段,它会引领您深入研究ADO.NET 2.0的重要编程主题。本书作为全面的技术内幕参考书,提供了专家指南、实用指令及用Visual c#和Visual Basic编写的代码示例,帮助您深入掌握如何开发Micrsoft Windows和Web数据库应用程序。 本书重要主题:在Microsoft Visual Studio 2005中使用设计时数据访问特性;使用Microsoft .NET Framework 2.0数据提供程序连接数据库;构建连接字符串,启用连接池;执行查询,包括参数化查询和非同步查询,并获取结果;创建DataSet对象以处理脱机数据,并研究常用场景;使用Microsoft SQL Server 2005中新的公共语言运行时特性和XML数据类型;为简单和复杂的更新生成逻辑和使用存储过程;使用ASP.NET 2.0中的新数据访问性设计Web应用程序——包括无代码数据绑定功能。 内容简介 本书介绍了如何用ADO.NET 2.0对独立应用、企业级应用和Web应用程序中的数据进行访问、排序和操作。作者针对如何利用Visual Studio 2005中的新工具和向导,编写、测试并调试数据库应用程序代码,用丰富的示例代码、教程式的风格及特色段落介绍了最佳实践。本书描述了ADO.NET对象模型及其用于Web扩展的XML特性,还涉及Microsoft SQL Server 2000和SQL Server 2005以及其他一些核心主题。 本书学习ADO.NET的理想参考书,也是造就专业编程高手的指南,适用于所有在.NET应用程序中编写数据访问代码的人员。 作者简介 斯赛帕,David Sceppa,SQL Server开发团队的项目经理,也是ADO.NET专家。作为Microsoft Developer Support团队的前技术邻导人,他曾经帮助客户使用Visual Basic和Microsoft Visual FoxPro来构建数据库应用程序。David拥有微软.NET MCSD认证,并有丰富的教学经验。 目录 第Ⅰ部分 Microsoft ADO.NET 2.0入门 第1章 ADO.NET概述 1.1 没有新的对象模型 1.2 ADO.NET对象模型 1.3 常见问题 第2章 用Microsoft Visual Studio 2005生成第一个ADO.NET应用程序 2.1 演示 2.2 不编写代码而生成数据访问窗体 2.3 常见问题 第Ⅱ部分 获取连接:使用.NET数据提供程序 第3章 连接数据库 3.1 生成SqlConnection对象 3.2 打开SqlConnection对象 3.3 关闭SqlConnection对象 3.4 自行清除连接 3.5 连接字符串 3.6 连接池 3.7 将SqlConnection用作起始点 3.8 Visual Studio设计时特性 3.9 SqlConnection对象参考 3.10 常见问题 第4章 数据库查询 4.1 在代码中使用SqlCommand对象 4.2 使用SqlDataReader 4.3 使用参数化查询 4.4 Microsoft Visual Studio设计时特性 4.5 SqlCommand,SqlDataReader和SqlParameter的对象参考 4.6 常见问题 第5章 用SqlDataAdapfer对象获取数据 5.1 何为SqlDataAdapter对象 5.2 创建并使用SqlDataAdapter对象 5.3 Visual Studio 2005设计时特性 5.4 SqlDataAdapter参考 5.5 常见问题 第Ⅲ部分 处理脱机数据——ADO.NET DataSet 第6章 处理DataSet对象 6.1 DataSet类的特性 6.2 使用DataSet对象 6.3 在Visual Studio中处理DataSet对象 6.4 DataSet,DataTable,DataColumn,DataRow,UniqueConstraint和ForeignKeyConstraint类参考 6.5 常见问题 第7章 处理关系数据 7.1 关系数据访问概述 7.2 在代码中使用DataRelation对象 7.3 在Microsoft Visual Studio中创建DataRelation对象 7.4 DataRelation对象参考 7.5 常见问题 第8章 排序、搜索和筛选 8.1 使用DataTable类的搜索和筛选功能 8.2 何为DataView对象 8.3 在代码中使用DataView对象 8.4 在Visual Studio中创建DataView对象 8.5 DataView对象参考 8.6 常见问题 第9章 使用强类型DataSet对象和TableAdapter 9.1 强类型DataSet 9.2 创建强类型DataSet对象 9.3 使用强类型DataSet对象 9.4 何时使用强类型DataSet对象 9.5 TableAdapter简介 9.6 选择自己的方法 9.7 常见问题 第10章 向数据库中提交更新 10.1 使用参数化SqlCommand提交更新 10.2 使用SqlDataAdapter提交更新 10.3 使用SqlDataAdapter对象提交更新 10.4 手动配置SqlDataAdapter对象 10.5 使用SqlCommandBuilder对象生成更新逻辑 10.6 使用Visual Studio【TableAdaptet 配置向导】生成更新逻辑 10.7 返回DataAdapter 10.8 在SqlTransaction中提交更新 10.9 SqlCommandBuildet对象参考 10.10 常见问题 第11章 复杂更新 11.1 在提交更新后刷新一行 11.2 获取新生成的自动增量值 11.3 提交分层更改 11.4 分离和重新集成更改 11.5 处理失败的更新尝试 11.6 使用分布式事务 11.7 批量查询 11.8 SQL批量复制 11.9 DataSet对象与事务 11.10 在处理复杂更新方案时,使用AD0.NET 11.11 常见问题 第12章 使用XML数据 12.1 架起XML和数据访问之间的桥梁 12.2 读写XML数据 12.3 DataSet+XmlDocument=XmlDataDocument 12.4 使用SQL Server 2005的XML特性 12.5 通过SElECT...FOR XML从SQL Server 2000中获取XML数据 12.6 SQL XML.NET数据提供程序 12.7 简单的AD0.NET和XML示例 12.8 常见问题 第Ⅳ部分 用ADO.NET 2.O构造高效的应用程序 第13章 生成基于WindOWS的高效应用程序 13.1 用数据绑定快速生成用户界面 13.2 应用程序设计的考虑事项 第14章 生成高效的Web应用程序 14.1 Web应用程序简介 14.2 连接到数据库 14.3 在ASP.NET 1.0中与数据库进行交互时存在的问题 14.4 数据源控件简介 14.5 缓存往返的数据 14.6 分页 14.7 常见问题 第15章 SQL Server2005公共语言运行时集成 15.1 扩展SQL Server的旧方法——扩展存储过程 15.2 扩展SQL Server的新方法——CLR集成 15.3 使用Microsoft Visual Studio 2005简化SQL CLR代码的生成过程 15.4 SQL CLR方案 15.5 创建SQL CLR用户定义类型 15.6 小结 15.7 常见问题 第Ⅴ部分 附录 附录A 使用其他.NET数据提供程序 附录B 示例和工具

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值