我RowDeleting里面做了一个删除的方法。
就是数据库里面没有创建关系
protected void SmartGridView2_RowDeleting(object sender, GridViewDeleteEventArgs e)
    {
        string id = this.Smartgridview2.DataKeys[e.RowIndex].Value.ToString();
        string sql = "select count(*) from [xx_news_centent] where sort=" + id;//先查询看看有没有相关联的信息
        bool flag = tools.gettitle(sql);//如果有的话返回true
        if (flag)
        {
            this.Response.Write("<script>alert('请先删除该大类下面的小类');</script>");
        }
        else
        {
            //返回false执行删除
            sql = "DELETE FROM [xx_type] WHERE id=" + id;
            bool flag1 = tools.GetUpdate(sql);
            if (flag1)
            {
                this.Response.Write("<script>alert('删除成功');</script>");
                this.Response.Redirect("XXTypeList.aspx");
            }
            else
            {
                this.Response.Write("<script>alert('删除失败');</script>");
            }
        }
    }
但是现在问题出现了。
当bool flag = tools.gettitle(sql);//如果有的话返回true我这个返回真的时候,说明有关联的信息。就不能删除。
所以直接退出。这时候提示错误如下
希望高手给指点下,是怎么回事。怎么样才能不出错/************************************“/qhy”应用程序中的服务器错误。
--------------------------------------------------------------------------------除非指定了 DeleteCommand,否则数据源“SqlDataSource1”不支持删除操作。 
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.NotSupportedException: 除非指定了 DeleteCommand,否则数据源“SqlDataSource1”不支持删除操作。源错误: 执行当前 Web 请求期间生成了未处理的异常。可以使用下面的异常堆栈跟踪信息确定有关异常原因和发生位置的信息。  堆栈跟踪: 
[NotSupportedException: 除非指定了 DeleteCommand,否则数据源“SqlDataSource1”不支持删除操作。]
   System.Web.UI.WebControls.SqlDataSourceView.ExecuteDelete(IDictionary keys, IDictionary oldValues) +819
   System.Web.UI.DataSourceView.Delete(IDictionary keys, IDictionary oldValues, DataSourceViewOperationCallback callback) +71
   System.Web.UI.WebControls.GridView.HandleDelete(GridViewRow row, Int32 rowIndex) +928
   System.Web.UI.WebControls.GridView.HandleEvent(EventArgs e, Boolean causesValidation, String validationGroup) +1152
   System.Web.UI.WebControls.GridView.OnBubbleEvent(Object source, EventArgs e) +95
   System.Web.UI.Control.RaiseBubbleEvent(Object source, EventArgs args) +35
   System.Web.UI.WebControls.GridViewRow.OnBubbleEvent(Object source, EventArgs e) +117
   System.Web.UI.Control.RaiseBubbleEvent(Object source, EventArgs args) +35
   System.Web.UI.WebControls.LinkButton.OnCommand(CommandEventArgs e) +115
   System.Web.UI.WebControls.LinkButton.RaisePostBackEvent(String eventArgument) +163
   System.Web.UI.WebControls.LinkButton.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument) +7
   System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) +11
   System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +170
   System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +5617 
--------------------------------------------------------------------------------
版本信息: Microsoft .NET Framework 版本:2.0.50727.42; ASP.NET 版本:2.0.50727.42 *************************************/

解决方案 »

  1.   

    除非指定了 DeleteCommand,否则数据源“SqlDataSource1”不支持删除操作。 
    已经说的很明白了啊.
    指定一下commandname="delete"
      

  2.   

    除非指定了 DeleteCommand,否则数据源“SqlDataSource1”不支持删除操作。
    ==
    你的SqlDataSource必须要明确地指明删除语句及参数
      

  3.   

    你的SqlDataSource必须要明确地指明删除语句及参数,否则SqlDataSource不支持删除操作
      

  4.   

    你的SqlDataSource必须要明确地指明删除语句及参数,否则SqlDataSource不支持删除操作
      

  5.   


    commandname="delete"
    我已经指定了。