日期:2014-05-19  浏览次数:20483 次

散分30,登录问题请大伙帮忙看看!
出现错误的地方
int   count   =   Convert.ToInt32(cmd.ExecuteReader());  
说我“指定的转换无效。”

存储过程如下:

CREATE   PROCEDURE   Op_Lands
(
      @Op_uid   varchar(16),
      @Op_pwd   varchar(16)
)
AS
Select   count(*)   from   Lands   where   Op_uid= ' "+Op_uid+ " '   and   Op_pwd= ' "+Op_pwd+ " '
GO


提交按钮代码如下:
private   void   Op_tj_Click(object   sender,   System.EventArgs   e)
{
SqlConnection   con   =   Data_Operation.OpDataCon.OpCon();
con.Open();

SqlCommand   cmd   =   new   SqlCommand( "Op_Lands ",con);
cmd.CommandType   =   CommandType.StoredProcedure;

cmd.Parameters.Add( "@Op_uid ",SqlDbType.NVarChar,16).Value   =   Op_uid.Text;

cmd.Parameters.Add( "@Op_pwd ",SqlDbType.NVarChar,16).Value   =   Op_pwd.Text;

int   count   =   Convert.ToInt32(cmd.ExecuteReader());
if   (   count   >   0   )
{
Session[ "flag "]   =   true;
Response.Redirect( "http://www.cnat.cn ");
}
else
{
Response.Redirect( "http://www.163.com ");
}
con.Close();
}
请大伙帮忙指教一下!

------解决方案--------------------
int count = Convert.ToInt32(cmd.ExecuteReader());
这个要改一下,你这个是一个读的容器,
必须是返回首行首列.
int count=Convert.ToInt32(cmd.ExecuteScalar());

------解决方案--------------------
cmd.ExecuteReader的问题,F5调试,进去看看其结果到底是什么!
------解决方案--------------------
类型不对无法转成Int
------解决方案--------------------
可能是用户名和密码值的问题,
断点调试下看看