首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

这是小弟我做的一个登陆的代码,不管用户名和密码是正确还是异常都提示登陆失败。cont为-1哪位帮忙解决一下

2012-03-23 
这是我做的一个登陆的代码,不管用户名和密码是正确还是错误都提示登陆失败。cont为-1哪位帮忙解决一下if (R

这是我做的一个登陆的代码,不管用户名和密码是正确还是错误都提示登陆失败。cont为-1哪位帮忙解决一下
if (Request.HttpMethod=="POST")
{
  string name = Request.Form["textfield"].ToString();
  string pwd = System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(Request.Form["textfield2"].ToString(),"MD5");
  string sql = "select * from user where user_account='"+name+"' and user_pwd='"+pwd+"'";
  string str = "server=localhost;user id=root;database=tfdo;password=97381687";
  MySqlConnection mycoon = new MySqlConnection(str);
  MySqlCommand mycom = new MySqlCommand(sql,mycoon);
  mycoon.Open();
  int cont =Convert.ToInt32(mycom.ExecuteNonQuery());
  if (cont>0)
  {
  Session["user_account"] = Request.Form["textfield"].ToString();
  mycoon.Close();
  Response.Write("<script>alert('登錄成功');location='mina.aspx'</script>");
   
   
  }
  else
  {
  Response.Write("<script>alert('登錄失敗');location='login.aspx'</script>");
  }
  }
 

[解决办法]
mycom.ExecuteScalar ()
[解决办法]
你这个SQL语句根本没用到啊
[解决办法]

探讨
你这个SQL语句根本没用到啊

[解决办法]
你数据库里面的密码是MD5加密的吗
[解决办法]
肯定是sql语句的问题了...
[解决办法]
表名user加上中括号试试[user]尽量避免用user ,name这些命名
[解决办法]
ExecuteNonQuery(),你这个用错了,登录返回的是bool你的是查询语句,你这个是执行插入和修改删除的!
[解决办法]
自己一步步调试下 啊?
[解决办法]
怀疑是你数据库设计的有问题,你是不是数据库里面这2个字段用的是char类型的,而且长度都比你输入的帐号的长度要长。
[解决办法]
改表名,ExecuteScalar吧,别的看不出来了
[解决办法]
C# code
if (Request.HttpMethod=="POST"){  string name = Request.Form["textfield"].ToString();  string pwd = System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(Request.Form["textfield2"].ToString(),"MD5");  string sql = "select * from user where user_account='"+name+"' and user_pwd='"+pwd+"'";  string str = "server=localhost;user id=root;database=tfdo;password=97381687";  MySqlConnection mycoon = new MySqlConnection(str);  MySqlCommand mycom = new MySqlCommand(sql,mycoon);  mycoon.Open();  bool cont =mycom.ExecuteScalar();  if (cont)  {  Session["user_account"] = Request.Form["textfield"].ToString();  mycoon.Close();  Response.Write("<script>alert('登錄成功');location='mina.aspx'</script>");        }  else  {  Response.Write("<script>alert('登錄失敗');location='login.aspx'</script>");  }  } 


[解决办法]
string sql = "select Count(*) from [user] where user_account='"+name+"' and user_pwd='"+pwd+"'";
..............
int cont =mycom.ExecuteScalar();
if(cont>0)
{
//登录成功

}
[解决办法]
进来看看是怎么回事,学习下
[解决办法]

探讨
引用:

引用:
string sql = "select count(*) from [user] where user_account='"+name+"' and user_pwd='"+pwd+"'";
..............
int cont =mycom.ExecuteScalar();
if(cont>……

[解决办法]
也就是键盘上按键1旁边,tab键上面那个按键
[解决办法]
探讨

也就是键盘上按键1旁边,tab键上面那个按键

[解决办法]
mycom.ExecuteNonQuery(),是不返回数据集的哦!那你count的值怎么会变?
[解决办法]
很经典的错误啊,很可能是你数据库里的一个选项被你设置了,SET NOCOUNT ON,告诉SQLServer不要生成表示受影响行数的休息,而你是以受影响行数为判断条件的,所以失败,仔细看看数据库配置

热点排行