过程 'Proc_UserAnswer' 需要参数 '@UserID',但未提供该参数。
gdjlc 2008-05-19 02:46:32 请大家用帮我看看.过程 'Proc_UserAnswer' 需要参数 '@UserID',但未提供该参数。是不是下面的存储过程哪里错了??
UserID= '+@UserID +'这么写有没有错啊??
-------------------------------------------
CREATE PROCEDURE [dbo].[Proc_UserAnswer]
(@PaperID int,
@Type varchar(10),
@UserID varchar(50))
AS
begin
declare @sql nvarchar(1000)
if @Type='单选题'
begin
set @sql='select * from UserAnswer,SingleProblem
where [Type]=''单选题'' and
UserAnswer.TitleID=SingleProblem.ID and UserID= '+@UserID +' and
[PaperID]= '+Cast(@PaperID AS varchar(10))
exec sp_executesql @sql
end
else if @Type='多选题'
begin
set @sql='select * from UserAnswer,MultiProblem
where [Type]=''多选题'' and
UserAnswer.TitleID=MultiProblem.ID and UserID= ' +@UserID +' and
[PaperID]= ' +Cast(@PaperID AS varchar(10))
exec sp_executesql @sql
end
end
GO
--------------------------------------------
堆栈跟踪:
[SqlException (0x80131904): 过程 'Proc_UserAnswer' 需要参数 '@UserID',但未提供该参数。]
System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection) +857322
System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection) +734934
System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj) +188
System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj) +1838
System.Data.SqlClient.SqlDataReader.ConsumeMetaData() +31
System.Data.SqlClient.SqlDataReader.get_MetaData() +62
System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString) +297
System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async) +886
System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, DbAsyncResult result) +132
System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method) +32
System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior behavior, String method) +122
System.Data.SqlClient.SqlCommand.ExecuteDbDataReader(CommandBehavior behavior) +12
System.Data.Common.DbCommand.System.Data.IDbCommand.ExecuteReader(CommandBehavior behavior) +7
System.Data.Common.DbDataAdapter.FillInternal(DataSet dataset, DataTable[] datatables, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior) +141
System.Data.Common.DbDataAdapter.Fill(DataSet dataSet, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior) +137
System.Data.Common.DbDataAdapter.Fill(DataSet dataSet) +86
OnLineExam.DataAccessLayer.DataBase.GetDataSet(String ProcName, SqlParameter[] Params) in c:\Inetpub\wwwroot\OnLineExam\App_Code\DataAccessLayer\DataBase.cs:301
Web_UserPaper.InitData() in c:\Inetpub\wwwroot\OnLineExam\Web\UserPaper.aspx.cs:50
Web_UserPaper.Page_Load(Object sender, EventArgs e) in c:\Inetpub\wwwroot\OnLineExam\Web\UserPaper.aspx.cs:26
System.Web.Util.CalliHelper.EventArgFunctionCaller(IntPtr fp, Object o, Object t, EventArgs e) +15
System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender, EventArgs e) +34
System.Web.UI.Control.OnLoad(EventArgs e) +99
System.Web.UI.Control.LoadRecursive() +47
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +1061