我是编程新手请帮忙!
存储过程为:
CREATE PROCEDURE result
@roomid int,
@returnNum int output
As
select @returnNum = count(*) from tempusers where room_id=@roomid
GO我的部分代码为:
SqlConnection myConnection=new SqlConnection("server=192.168.1.202;database=wapgame;uid=sa;pwd=");
myConnection.Open();
//执行存储过程实现一个房间登录到达8人时进入游戏!要输入并输出,且返回值SqlCommand myCommand = new SqlCommand("",myConnection);
myCommand.CommandText="result";
myCommand.CommandType = CommandType.StoredProcedure;SqlParameter parameterreturnNum = myCommand.Parameters.Add("@returnNum", SqlDbType.Int,4);
parameterreturnNum.Direction= ParameterDirection.Output;
SqlParameter myParmrooid = myCommand.Parameters.Add("@roomid", SqlDbType.Int,4);
myParmrooid.Value = roomid;myCommand.ExecuteNonQuery();if (int.Parse(myCommand.Parameters["returnNum"].Value.ToString())==8)
{
}
else
{
}
错误提示:“/rob”应用程序中的服务器错误。
--------------------------------------------------------------------------------此 SqlParameterCollection 中未包含带有 ParameterName“returnNum”的 SqlParameter。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.IndexOutOfRangeException: 此 SqlParameterCollection 中未包含带有 ParameterName“returnNum”的 SqlParameter。源错误:
行 30: myCommand.ExecuteNonQuery();
行 31:
行 32: if (int.Parse(myCommand.Parameters["returnNum"].Value.ToString())==8){
行 33: %>
行 34: <p></p>
源文件: E:\rob_chair\room.aspx 行: 32 堆栈跟踪:
[IndexOutOfRangeException: 此 SqlParameterCollection 中未包含带有 ParameterName“returnNum”的 SqlParameter。]
System.Data.SqlClient.SqlParameterCollection.RangeCheck(String parameterName) +48
System.Data.SqlClient.SqlParameterCollection.get_Item(String parameterName) +10
ASP.room_aspx.__Render__control1(HtmlTextWriter __output, Control parameterContainer) in E:\rob_chair\room.aspx:32
System.Web.UI.Control.RenderChildren(HtmlTextWriter writer) +27
System.Web.UI.Control.Render(HtmlTextWriter writer) +7
System.Web.UI.Control.RenderControl(HtmlTextWriter writer) +243
System.Web.UI.Page.ProcessRequestMain() +1929
--------------------------------------------------------------------------------
版本信息: Microsoft .NET Framework 版本:1.1.4322.573; ASP.NET 版本:1.1.4322.573
存储过程为:
CREATE PROCEDURE result
@roomid int,
@returnNum int output
As
select @returnNum = count(*) from tempusers where room_id=@roomid
GO我的部分代码为:
SqlConnection myConnection=new SqlConnection("server=192.168.1.202;database=wapgame;uid=sa;pwd=");
myConnection.Open();
//执行存储过程实现一个房间登录到达8人时进入游戏!要输入并输出,且返回值SqlCommand myCommand = new SqlCommand("",myConnection);
myCommand.CommandText="result";
myCommand.CommandType = CommandType.StoredProcedure;SqlParameter parameterreturnNum = myCommand.Parameters.Add("@returnNum", SqlDbType.Int,4);
parameterreturnNum.Direction= ParameterDirection.Output;
SqlParameter myParmrooid = myCommand.Parameters.Add("@roomid", SqlDbType.Int,4);
myParmrooid.Value = roomid;myCommand.ExecuteNonQuery();if (int.Parse(myCommand.Parameters["returnNum"].Value.ToString())==8)
{
}
else
{
}
错误提示:“/rob”应用程序中的服务器错误。
--------------------------------------------------------------------------------此 SqlParameterCollection 中未包含带有 ParameterName“returnNum”的 SqlParameter。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.IndexOutOfRangeException: 此 SqlParameterCollection 中未包含带有 ParameterName“returnNum”的 SqlParameter。源错误:
行 30: myCommand.ExecuteNonQuery();
行 31:
行 32: if (int.Parse(myCommand.Parameters["returnNum"].Value.ToString())==8){
行 33: %>
行 34: <p></p>
源文件: E:\rob_chair\room.aspx 行: 32 堆栈跟踪:
[IndexOutOfRangeException: 此 SqlParameterCollection 中未包含带有 ParameterName“returnNum”的 SqlParameter。]
System.Data.SqlClient.SqlParameterCollection.RangeCheck(String parameterName) +48
System.Data.SqlClient.SqlParameterCollection.get_Item(String parameterName) +10
ASP.room_aspx.__Render__control1(HtmlTextWriter __output, Control parameterContainer) in E:\rob_chair\room.aspx:32
System.Web.UI.Control.RenderChildren(HtmlTextWriter writer) +27
System.Web.UI.Control.Render(HtmlTextWriter writer) +7
System.Web.UI.Control.RenderControl(HtmlTextWriter writer) +243
System.Web.UI.Page.ProcessRequestMain() +1929
--------------------------------------------------------------------------------
版本信息: Microsoft .NET Framework 版本:1.1.4322.573; ASP.NET 版本:1.1.4322.573
解决方案 »
- C# WinForm RichTextBox 编程及如何做类似word的控件
- 省市级联???急死人啊!!
- 新手上路,写了文本框是否为空验证代码,如何终止程序往下走?
- 为什么我的ADO.Net会出错?
- 请问如何判断DropDownList的选项等于文本框输入值?毕业设计,急等,谢!
- 太奇怪,急:存储过程在查询分析器中可无限次执行,但在SqlComand中只能正确执行一次,第二次就报错?我需要在SqlComand中多次执行。请给
- BinaryReader问题,在线等急!
- 请问remoting事件订阅和发布怎么可以在internet工作正常
- 关于继承的问题
- 游戏开发,随意说,来者有分
- 如何把字符型数据转换数字型!
- 我在测试一个程序,如果想要调整系统中的执行顺序该如何做
myConnection.Open();
//执行存储过程实现一个房间登录到达8人时进入游戏!要输入并输出,且返回值SqlCommand myCommand = new SqlCommand("",myConnection);
myCommand.CommandText="result";
myCommand.CommandType = CommandType.StoredProcedure;SqlParameter parameterreturnNum = new SqlParameter("@returnNum", SqlDbType.Int,4);
parameterreturnNum.Direction= ParameterDirection.Output;
myCommand.Parameters.Add(parameterreturnNum);
SqlParameter myParmrooid = new SqlParameter("@roomid", SqlDbType.Int,4);
myParmrooid.Value = roomid;
myCommand.Parameters.Add(myParmrooid);myCommand.ExecuteNonQuery();if (int.Parse(parameterreturnNum.Value.ToString())==8)
{
}
else
{
}
参数名少了一个@
if (int.Parse(myCommand.Parameters["returnNum"].Value.ToString())==8)
中的@returnNum
改成
if (int.Parse(parameterreturnNum.Value.ToString())==8)