本帖最后由 anglewgj 于 2010-04-05 17:08:49 编辑

解决方案 »

  1.   

     try
      {
      id = (string)cmd.ExecuteScalar();
      }你这就是个问题,如果找不到这个用户,那么(string)null--这样对吗?
    建议你改成select count(0) from   where的sql语句
      

  2.   

    if(Page .IsValid )
      {  int ret=0;
      OracleConnection conn = new OracleConnection("Data Source=xe;User ID=cgydb;Password=123;");
      string sql = "select count(*) from tj_users where log_id='{0}' and log_pass='{1}'";
      OracleCommand cmd = new OracleCommand(Strin.Format(sql, Text1.Value.Trim(), Password1.Value.Trim()), conn);
        try
      {
         cmd.Connection.Open();
         ret=Convert.ToInt32(cmd.ExecuteScalar());
      }
      catch(Exception ex)
      {
        throw ex;
      }
      finally
      {
        cmd.Connection.Close();
      }
      if (ret>0)
      {
        FormsAuthentication.RedirectFromLoginPage(Text1.Value, false);
      }
      else
      {
      this.Panel1.Visible = true;
      this.Label1.Text = "请核对用户名或密码";
      }