散分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
[解决办法]
可能是用户名和密码值的问题,
断点调试下看看