日期:2014-05-20  浏览次数:20987 次

这是什么状况?请大家给个办法看看?在使用Gridview删除某一列时出现的问题!
必须声明标量变量 "@ID"。 
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 

异常详细信息: System.Data.SqlClient.SqlException: 必须声明标量变量 "@ID"。

源错误: 

执行当前 Web 请求期间生成了未处理的异常。可以使用下面的异常堆栈跟踪信息确定有关异常原因和发生位置的信息。  

堆栈跟踪: 


[SqlException (0x80131904): 必须声明标量变量 "@ID"。]
  System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection) +946986
  System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection) +821638
  System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj) +186
  System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj) +1932
  System.Data.SqlClient.SqlCommand.RunExecuteNonQueryTds(String methodName, Boolean async) +196
  System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(DbAsyncResult result, String methodName, Boolean sendToPipe) +269
  System.Data.SqlClient.SqlCommand.ExecuteNonQuery() +135
  System.Web.UI.WebControls.SqlDataSourceView.ExecuteDbCommand(DbCommand command, DataSourceOperation operation) +404
  System.Web.UI.WebControls.SqlDataSourceView.ExecuteDelete(IDictionary keys, IDictionary oldValues) +720
  System.Web.UI.DataSourceView.Delete(IDictionary keys, IDictionary oldValues, DataSourceViewOperationCallback callback) +75
  System.Web.UI.WebControls.GridView.HandleDelete(GridViewRow row, Int32 rowIndex) +927
  System.Web.UI.WebControls.GridView.HandleEvent(EventArgs e, Boolean causesValidation, String validationGroup) +1134
  System.Web.UI.WebControls.GridView.RaisePostBackEvent(String eventArgument) +199
  System.Web.UI.WebControls.GridView.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) +174
  System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +5087

 


------解决方案--------------------
ctrl+F 搜索看哪里写“@ID”,然后看看
------解决方案--------------------
你的sql中有参数吧,而你没有添加参数

SqlCommand.Parameters.Add
------解决方案--------------------
@ID这个对应的值没有导致的错误
------解决方案--------------------
楼主光贴个错误信息,别人很难找出错误在哪。
有时候错误发生在别的地方,lz贴源代码看看。