数据源不支持更新/插入

时间:2011-02-11 15:07:42

标签: sql database visual-studio visual-studio-2010

我一直在制作我的第一个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.LinkBut​​ton.OnCommand(CommandEventArgs   e)+118
  System.Web.UI.WebControls.LinkBut​​ton.RaisePostBackEvent(字符串   eventArgument)+135
  System.Web.UI.WebControls.LinkBut​​ton.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

我真的可以在这里使用一些帮助!

1 个答案:

答案 0 :(得分:1)

错误消息说明了一切:'除非指定了UpdateCommand,否则数据源'SqlDataSource1'不支持更新。'。您必须将sql代码或存储过程的名称分配给属性UpdateCommand,以便SqlDataSource知道如何处理更新。