SqlDataSource+Datalist,实现编辑,怎么更新int和demical类型的值

问题描述

usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Web;usingSystem.Web.UI;usingSystem.Web.UI.WebControls;publicpartialclassUserControl_Books:System.Web.UI.UserControl{protectedvoidPage_Load(objectsender,EventArgse){}//编辑protectedvoidDataList1_EditCommand(objectsource,DataListCommandEventArgse){DataList1.EditItemIndex=e.Item.ItemIndex;DataList1.DataBind();}//取消protectedvoidDataList1_CancelCommand(objectsource,DataListCommandEventArgse){DataList1.EditItemIndex=-1;DataList1.DataBind();}//更新protectedvoidDataList1_UpdateCommand(objectsource,DataListCommandEventArgse){Int32ClassId;if(((DropDownList)e.Item.FindControl("ClassName")).SelectedValue=="0"){ClassId=int.Parse(((TextBox)e.Item.FindControl("ClassId")).ToString());}else{ClassId=int.Parse(((DropDownList)e.Item.FindControl("ClassName")).SelectedValue);}StringBookName=((TextBox)e.Item.FindControl("BookName")).ToString();StringAuthor=((TextBox)e.Item.FindControl("Author")).ToString();StringPublish=((TextBox)e.Item.FindControl("Publish")).ToString();DecimalPrice=Decimal.((TextBox)e.Item.FindControl("Price")).ToString();StringImage=((TextBox)e.Item.FindControl("Image")).ToString();Int32Qty=int.Parse(((TextBox)e.Item.FindControl("Qty")).ToString());Int32PageNum=int.Parse(((TextBox)e.Item.FindControl("PageNum")).ToString());StringBinDing=((TextBox)e.Item.FindControl("BinDing")).ToString();Int32Format=int.Parse(((TextBox)e.Item.FindControl("Format")).ToString());StringISBN=((TextBox)e.Item.FindControl("ISBN")).ToString();StringDescn=((TextBox)e.Item.FindControl("Descn")).ToString();StringContent=((TextBox)e.Item.FindControl("Content")).ToString();StringBookId=DataList1.DataKeys[e.Item.ItemIndex].ToString();SqlDataSource2.UpdateParameters["ClassId"].DefaultValue=ClassId;SqlDataSource2.UpdateParameters["BookName"].DefaultValue=BookName;SqlDataSource2.UpdateParameters["Author"].DefaultValue=Author;SqlDataSource2.UpdateParameters["Publish"].DefaultValue=Publish;SqlDataSource2.UpdateParameters["Price"].DefaultValue=Price;SqlDataSource2.UpdateParameters["Image"].DefaultValue=Image;SqlDataSource2.UpdateParameters["Qty"].DefaultValue=Qty;SqlDataSource2.UpdateParameters["PageNum"].DefaultValue=PageNum;SqlDataSource2.UpdateParameters["BinDing"].DefaultValue=BinDing;SqlDataSource2.UpdateParameters["Format"].DefaultValue=Format;SqlDataSource2.UpdateParameters["ISBN"].DefaultValue=ISBN;SqlDataSource2.UpdateParameters["Descn"].DefaultValue=Descn;SqlDataSource2.UpdateParameters["Content"].DefaultValue=Content;SqlDataSource2.UpdateParameters["BookId"].DefaultValue=BookId;SqlDataSource2.Update();DataList1.EditItemIndex=-1;DataList1.DataBind();}}

解决方案

解决方案二:
这么多看得就头疼你还是用linq吧
解决方案三:
改了一下,把UpdateCommand里面的类型全部改成String,在SqlDataSource的更新参数写对应的数据类型,可是更新的时候显示“输入字符串的格式不正确”<asp:SqlDataSourceID="SqlDataSource2"runat="server"ConnectionString="<%$ConnectionStrings:BookShopConnectionString%>"SelectCommand="SELECT*FROM[Book-Class]WHERE([BookId]=@BookId)"UpdateCommand="UPDATE[Book]SET[BookName]=@BookName,[ClassId]=@ClassId,[Author]=@Author,[Publish]=@Publish,[Price]=@Price,[Image]=@Image,[Qty]=@Qty,[PageNum]=@PageNum,[BinDing]=@BinDing,[Format]=@Format,[ISBN]=@ISBN,[Descn]=@Descn,[Content]=@ContentWHERE[BookId]=@BookId"><SelectParameters><asp:ControlParameterControlID="GridView1"Name="BookId"PropertyName="SelectedValue"Type="Int32"/></SelectParameters><UpdateParameters><asp:ParameterName="BookName"Type="String"/><asp:ParameterName="ClassId"Type="Int32"/><asp:ParameterName="Author"Type="String"/><asp:ParameterName="Publish"Type="String"/><asp:ParameterName="Price"Type="Decimal"/><asp:ParameterName="Image"Type="String"/><asp:ParameterName="Qty"Type="Int32"/><asp:ParameterName="PageNum"Type="Int32"/><asp:ParameterName="BinDing"Type="String"/><asp:ParameterName="Format"Type="Int32"/><asp:ParameterName="ISBN"Type="String"/><asp:ParameterName="Descn"Type="String"/><asp:ParameterName="Content"Type="String"/><asp:ParameterName="BookId"Type="Int32"/></UpdateParameters></asp:SqlDataSource>

时间: 2024-10-28 14:32:07

SqlDataSource+Datalist,实现编辑,怎么更新int和demical类型的值的相关文章

在ASP.NET 2.0中操作数据之三十九:在DataList的编辑界面里添加验证控件_自学过程

导言 到目前为止的讨论编辑DataList的教程里,没有包含任何验证用户的输入,即使是用户非法输入- 遗漏了product的name或者负的price- 会导致异常.在前面一章里我们学习了如何在DataList的UpdateCommand事件处理中添加异常处理代码,以便在出现异常时捕捉它并显示友好的错误信息.然而理想的编辑界面应该包含验证控件,用来在第一时间里阻止用户输入一些非法数据. 本章我们将学习在DataList的EditItemTemplate里添加验证控件从而提供一个更安全的编辑界面,

在ASP.NET 2.0中操作数据之三十六:在DataList里编辑和删除数据概述_自学过程

导言 概述插入.更新和删除数据 里我们已经学习了如何使用GridView等控件来插入,更新删除数据.通过ObjectDataSource和其它数据控件仅仅只需要在智能标签里勾一下checkbox就完成了,不需要写任何代码.而DataList没有这些内置的功能.我们可以使用1.x 里的方法来实现这些功能.在本章我们将看到,DataList提供了一些事件和属性来完成我们的目的,为此我们需要写一些代码. 本章我们首先学习如何创建一个支持编辑和删除数据的DataList.后面的教程里我们将学习一些高级的

Repeater控件实现编辑、更新、删除等操作示例代码

 如何在Repeater控件中实现像GridView控件一样的编辑.更新.删除功能?下面有个不错的示例,感兴趣的朋友可以参考下,希望对大家有所帮助 代码如下: protected void Page_Load(object sender, EventArgs e)  {  if (!Page.IsPostBack)  {  BindGrid();  }  }  private void BindGrid()  {  string strSQL = "SELECT * FROM [User]&qu

在ASP.NET 2.0中操作数据之四十七:用SqlDataSource控件插入、更新、删除数据_自学过程

导言: 正如在教程概述插入.更新和删除数据里讨论的那样,GridView控件内置更新和删除功能,而DetailsView和FormView控件不仅具有编辑和删除功能,还有插入功能.我们不要写一行代码就可一将这些功能直接应用于一个数据源控件.在这篇教程里,我们指出ObjectDataSource控件最好与GridView, DetailsView和FormView控件一起使用,才更好的实现插入.更新和删除功能.对SqlDataSource控件来说,同样如此! 对ObjectDataSource控件

Repeater控件实现编辑、更新、删除等操作示例代码_实用技巧

如何在Repeater控件中实现像GridView控件一样的编辑.更新.删除功能? 复制代码 代码如下: protected void Page_Load(object sender, EventArgs e) { if (!Page.IsPostBack) { BindGrid(); } } private void BindGrid() { string strSQL = "SELECT * FROM [User]"; OleDbConnection objConnection =

GridView里面读取了c盘的一个Excel表 这张表进行编辑和更新

问题描述 在GridView里面读取了c盘的一个Excel表请问怎么在GridView对这张表进行编辑和更新然后c盘的Excel表同步更新不用GridView也可以只要程序能更新Excel表就可以了不用对数据库操作因为Excel表在C盘请各位大侠帮忙急啊!!!

使用detailsview,自动生成的“编辑”、“更新”、“取消”按钮变成英文

问题描述 在vs2005中文开发环境下,我使用使用detailsview,自动生成的"编辑"."更新"."取消"按钮都是中文的.部署的时候,在别的电脑上发布.浏览的时候发现这些字体都变成英文的啦.为什么,怎么手动更改代码里面的这些字体 解决方案 解决方案二:UP解决方案三:1.在客户端安装.netframework2.o的时候有没有安装语言包啊2.项目的属性里的程序集选项默认是语言选项改成简体中文试试解决方案四:在摸板中改成自定义的就可以了,,可

asp.net gridview自带编辑,更新按钮点击无反应,取消按钮却正常

问题描述 在gridview里启用了自带的编辑和删除,点击编辑后,会有更新/取消两个按钮,点击更新毫无反应,但是点击取消,结束编辑的功能能正常.RowEditing.RowCancelingEdit.RowUpdating都设置好了同样的在其他页面都能正常,但是就是在这一个页面更新按钮点击没反应,求大神帮忙,谢谢! 解决方案 解决方案二:页面1(gridview自带编辑里的更新点击无反应),我查看了下前端,发现当鼠标移动到更新上去时,浏览器左下角的显示为如上图所示时,更新就点击没反应页面2(正常

由于“int”类型的值永不等于“int?”类型的“null”,该表达式的结果始终为“true”

问题描述 usingSystem;usingSystem.Data;usingSystem.Data.SqlClient;usingSystem.Configuration;usingSystem.Collections.Generic;usingSystem.Web;usingSystem.Web.Security;usingSystem.Web.UI;usingSystem.Web.UI.HtmlControls;usingSystem.Web.UI.WebControls;usingSys