过程 Pr_Insert_User 没有参数,但却为该过程提供了参数。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。
异常详细信息: System.Data.SqlClient.SqlException: 过程 Pr_Insert_User 没有参数,但却为该过程提供了参数。
源错误:
行 27: cmd.Parameters.AddRange(pras);
行 28: conn.Open();
行 29: i = (int)cmd.ExecuteNonQuery();
行 30: conn.Close();
行 31: return i;
源文件: D:\Documents and Settings\student\桌面\Blog\Blog\DAL\SqlHelp.cs 行: 29
堆栈跟踪:
[SqlException (0x80131904): 过程 Pr_Insert_User 没有参数,但却为该过程提供了参数。]
System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection) +98
System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection) +82
System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj) +346
System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj) +3430
System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString) +186
System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async) +1272
System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, DbAsyncResult result) +334
System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(DbAsyncResult result, String methodName, Boolean sendToPipe) +407
System.Data.SqlClient.SqlCommand.ExecuteNonQuery() +149
DAL.SqlHelp.ExecuteNonQuery(String Sql, SqlParameter[] pras) in D:\Documents and Settings\student\桌面\Blog\Blog\DAL\SqlHelp.cs:29
DAL.UserDAL.Insert(UserModle usermodle) in D:\Documents and Settings\student\桌面\Blog\Blog\DAL\UserDAL.cs:85
zhuchepage.btnOk_Click(Object sender, EventArgs e) in d:\Documents and Settings\student\桌面\Blog\Blog\zhuchepage.aspx.cs:50
System.Web.UI.WebControls.Button.OnClick(EventArgs e) +96
System.Web.UI.WebControls.Button.RaisePostBackEvent(String eventArgument) +116
System.Web.UI.WebControls.Button.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument) +31
System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) +32
System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +72
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +3825
是数据库问题么 。还是什么问题啊 。 晕死了 , 求大神帮忙解疑啊 。
------解决方案--------------------------------------------------------
说的很明显了,意思就是说在数据库中的存储过程没有参数,你在程序中却加了参数进去。
2个办法解决:
1、给数据库中的存储过添加参数
2、去掉程序中传入的参数,也就是cmd.Parameters.AddRange(pras);并且要记得删除掉SQL语句中的参数