我一直在制作我的第一个ASP.NET Visual Studio网站,我刚刚开始使用数据库,我已经为我制作了一个表格和一个后台页面来控制我的表格内容。
此页面遵循以下规则:
- >我添加了SQLDataSource并进行了配置。
- >我添加了一个gridview来查看我的内容并将其配置为我的SQLDataSource,在这里我添加了Edit / Delete选项。
- >我已经为我的SWLDataSource添加了一个DetailsView,在这里我添加了New选项(在我的表中创建新条目)
我的数据库将id列设置为主键(数据类型= int;允许空值=未选中)
每次我尝试通过此后台页面更新我的数据库时,都会出现以下错误:
数据不支持更新 源'SqlDataSource1'除非 指定了UpdateCommand。 描述:未处理的异常 在执行期间发生 当前的网络请求。请查看 堆栈跟踪以获取更多信息 错误及其来源 代码。
异常详细信息: System.NotSupportedException:正在更新 数据源不支持 'SqlDataSource1'除非UpdateCommand 已指定。
来源错误:
生成了未处理的异常 在执行当前 网络请求。有关的信息 异常的起源和位置 可以使用例外来识别 堆栈跟踪下面。
堆栈追踪:
[NotSupportedException:正在更新 数据源不支持 'SqlDataSource1'除非UpdateCommand 被指定。]
System.Web.UI.WebControls.SqlDataSourceView.ExecuteUpdate(IDictionary的 键,IDictionary值,IDictionary oldValues)+1644420
System.Web.UI.DataSourceView.Update(IDictionary的 键,IDictionary值,IDictionary oldValues, DataSourceViewOperationCallback 回调)+92
System.Web.UI.WebControls.GridView.HandleUpdate(GridViewRow row,Int32 rowIndex,Boolean causeValidation)+907
System.Web.UI.WebControls.GridView.HandleEvent(EventArgs的 e,Boolean causeValidation,String validationGroup)+704
System.Web.UI.WebControls.GridView.OnBubbleEvent(对象 来源,EventArgs e)+95
System.Web.UI.Control.RaiseBubbleEvent(对象 来源,EventArgs args)+37
System.Web.UI.WebControls.GridViewRow.OnBubbleEvent(对象 来源,EventArgs e)+123
System.Web.UI.Control.RaiseBubbleEvent(对象 来源,EventArgs args)+37
System.Web.UI.WebControls.LinkButton.OnCommand(CommandEventArgs e)+118
System.Web.UI.WebControls.LinkButton.RaisePostBackEvent(字符串 eventArgument)+135
System.Web.UI.WebControls.LinkButton.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(字符串 eventArgument)+10
System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl,String eventArgument) +13 System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData)+175
System.Web.UI.Page.ProcessRequestMain(布尔 includeStagesBeforeAsyncPoint,Boolean includeStagesAfterAsyncPoint)+1565
我真的可以在这里使用一些帮助!
答案 0 :(得分:1)
错误消息说明了一切:'除非指定了UpdateCommand,否则数据源'SqlDataSource1'不支持更新。'。您必须将sql代码或存储过程的名称分配给属性UpdateCommand,以便SqlDataSource知道如何处理更新。