资源描述:
《用SqlDataSource控件插入》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、用SqlDataSource控件插入、更新、删除数据2007-09-1514:20:32
2、分类:VisualC#
3、标签:c#_netasp.netscott
4、字号大中小订阅ScottMitchell的ASP.NET2.0数据教程之49:用SqlDataSource控件插入、更新、删除数据导言:正如在教程AnOverviewofInserting,Updating,andDeleting里讨论的那样,GridView控件内置更新和删除功能,而DetailsView和FormView控件不仅具有编辑和删除功能,还有插入功能。我们不要写一行代码就可一将这些
5、功能直接应用于一个数据源控件。在这篇教程里,我们指出ObjectDataSource控件最好与GridView,DetailsView和FormView控件一起使用,才更好的实现插入、更新和删除功能。对SqlDataSource控件来说,同样如此!对ObjectDataSource控件来说,为了实现插入、更新和删除,我们需要指定调用那个方法来实现插入、更新和删除功能。对SqlDataSource来说,我们需要指定INSERT,UPDATE和DELETE三种SQL语句(或存储过程)。就像接下来在本章探讨的那样,我们可以手写代码或SqlDataSourc
6、e的设置数据源向导自动的生成。注意:由于我们已经探讨过了GridView,DetailsView和FormView控件的插入、编辑和删除功能,在本章我们主要关注怎样设置SqlDataSource以支持这些功能。倘若你想重温如何实现GridView,DetailsView和FormView的这些功能,参考教程AnOverviewofInserting,Updating,andDeleting第一步:指定INSERT,UPDATE和DELETE命令就像在前2章教程探讨的那样,从SqlDataSource控件检索数据,需要设置2个属性:1.Connecti
7、onString,指定要查询的数据库。2.SelectCommand,指定用来返回结果的ad-hocSQL语句或存储过程的名称。对SelectCommand里的参数来说,其值在SqlDataSource控件的SelectParameters部分指定,可以为“硬编码”值,普通的参数源值(比如来自于查询字符串、session变量、Web控件等)、或通过编程设置。当一个数据Web控件调用SqlDataSource的Select()方法时——不管是自动的还是通过编程调用的,发生这些事件:连接指定数据库,对参数赋值并执行查询,检索并返回结果。返回的结果是Dat
8、aSet还是DataReader,取决于SqlDataSource的DataSourceMode属性是设置为DataSet还是DataReader。和选择数据一样,要实现插入、更新和删除数据,我们只要提供相应的INSERT,UPDATE和DELETESQL语句就够了。方法是对InsertCommand,UpdateCommand和DeleteCommand属性赋以相应的INSERT,UPDATE和DELETESQL语句。如果这些SQL语句包含参数(现实中经常碰到),将这些参数放在相应的InsertParameters,UpdateParameters
9、和DeleteParameters部分。一旦指定了SqlDataSource控件的InsertCommand,UpdateCommand和DeleteCommand三种命令,就可以在相应的数据Web控件启用插入、编辑和删除功能。为验证起见,我们拓展Querying.aspx页面的删除功能。打开SqlDataSource文件夹的InsertUpdateDelete.aspx和Querying.aspx页面,首先选择Querying.aspx页面,进入设计模式,选中SqlDataSource控件和GridView控件(ID分别为ProductsDataS
10、ource和GridView1),点“编辑”菜单,选“复制”(或直接按Ctrl+C),然后将这2个控件粘贴在InsertUpdateDelete.aspx页面。在浏览器里测试该页面,你将会看到表Products里所有产品的ProductID,ProductName和UnitPrice显示出来。图1:所有产品按ProductID排序并显示出来添加SqlDataSource控件的eleteCommand命令和DeleteParameters属性到目前为止,我们的SqlDataSource只是从表Products返回记录,然后在GridView控件里显示出
11、来。我们的目标是扩展其功能,允许用户在GridView控件删除数据。为此,我们需要为SqlDataSourc