【发布时间】:2018-08-29 10:20:44
【问题描述】:
我正在尝试将表中的数据读取到数据网格视图中。此数据需要从网格视图中的网页进行编辑。 它返回一个我无法解决的可怕错误。 异常详细信息:System.Data.SqlClient.SqlException:“nvarchar”附近的语法不正确。
必须声明标量变量“@P_C_ID”。
来源错误:
在执行当前 Web 请求期间生成了未处理的异常。可以使用下面的异常堆栈跟踪来识别有关异常起源和位置的信息。
堆栈跟踪:
[SqlException (0x80131904): 'nvarchar' 附近的语法不正确。
必须声明标量变量“@P_C_ID”。]
System.Data.SqlClient.SqlConnection.OnError(SqlException异常,布尔breakConnection,Action1 wrapCloseInAction) +2555722
System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection, Action1 wrapCloseInAction)+5958412
System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj,布尔调用者HasConnectionLock,布尔异步关闭)+285
System.Data.SqlClient.TdsParser.TryRun(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj, Boolean& dataReady) +4169
System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString, Boolean isInternal, Boolean forDescribeParameterEncryption, Boolean shouldCacheForAlwaysEncrypted) +255
System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior,RunBehavior runBehavior,布尔 returnStream,布尔异步,Int32 超时,任务和任务,布尔异步写入,布尔 inRetry,SqlDataReader ds,布尔 describeParameterEncryptionRequest)+2598
System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, TaskCompletionSource1 completion, Int32 timeout, Task& task, Boolean& usedCache, Boolean asyncWrite, Boolean inRetry) +1483
System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(TaskCompletionSource1 完成, String methodName, Boolean sendToPipe, Int32 timeout, Boolean& usedCache, Boolean asyncWrite, Boolean inRetry) +374
System.Data.SqlClient.SqlCommand.ExecuteNonQuery() +286
System.Web.UI.WebControls.SqlDataSourceView.ExecuteDbCommand(DbCommand 命令,DataSourceOperation 操作)+392
System.Web.UI.WebControls.SqlDataSourceView.ExecuteUpdate(IDictionary 键,IDictionary 值,IDictionary oldValues)+670
System.Web.UI.DataSourceView.Update(IDictionary 键、IDictionary 值、IDictionary oldValues、DataSourceViewOperationCallback 回调)+106
System.Web.UI.WebControls.GridView.HandleUpdate(GridViewRow row, Int32 rowIndex, Boolean CauseValidation) +1210
System.Web.UI.WebControls.GridView.HandleEvent(EventArgs e, Boolean CauseValidation, String validationGroup) +877
System.Web.UI.WebControls.GridView.OnBubbleEvent(对象源,EventArgs e)+89
System.Web.UI.Control.RaiseBubbleEvent(对象源,EventArgs args)+37
System.Web.UI.WebControls.GridViewRow.OnBubbleEvent(对象源,EventArgs e)+90
System.Web.UI.Control.RaiseBubbleEvent(对象源,EventArgs args)+37
System.Web.UI.WebControls.LinkButton.OnCommand(CommandEventArgs e) +121
System.Web.UI.WebControls.LinkButton.RaisePostBackEvent(字符串 eventArgument)+161
System.Web.UI.WebControls.LinkButton.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(字符串 eventArgument)+12
System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) +15
System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +9884018
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +1639
当我单击编辑按钮并且要执行的查询是时触发错误 UpdateCommand="UPDATE [Performance_Rating_2] SET [STRATEGIC OBJECTIVE] = @STRATEGIC_OBJECTIVE,[INITIATIVE AND ACTION] = @INITIATIVE_AND_ACTION,[MEASURE] = @MEASURE, [目标] = @TARGET,[重量前半部分] = @WEIGHT_FIRST_HALF,[重量后半部分] = @WEIGHT_SECOND_HALF,[评分前半部分] = @RATING_FIRST_HALF, [得分上半场] = @SCORE_FIRST_HALF,[评分上半场] = @RATING_SECOND_HALF,[得分上半场] = @SCORE_SECOND_HALF,[证据上半场] = @EVIDENCE_FIRST_HALF, [EVIDENCE SECOND HALF] = @EVIDENCE_SECOND_HALF, [RESPONSIBLE PERSON] = @RESPONSIBLE_PERSON WHERE [P_C_ID] = @P_C_ID">
【问题讨论】:
-
如果您能提供minimal reproducible example,那就太好了。