using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;
public partial class _Default : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {    }
    protected void Button1_Click(object sender, EventArgs e)
    {
        string id = TextBox1.Text.ToString().Trim();
        string pass = TextBox2.Text.ToString().Trim();
        string limit = RadioButtonList1.SelectedValue.Trim();
        string selectstr = "";
        switch (limit)
        {
            case "0":
                selectstr = "Select * from user where= limit='管理员'";
                break;
            case "1":
                selectstr = "Select * from user where= limit='项目经理'";
                break;
            case "2":
                selectstr = "Select * from user where= limit='员工'";
                break;         }
        SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["RCDBConnectionString"].ConnectionString);
        SqlCommand cmd = new SqlCommand(selectstr, conn);
        try 
        {
            conn.Open ();
            SqlDataReader sdr=cmd.ExecuteReader();             ??????????尚未初始化
            if(sdr.Read ())
            {
                if(sdr.GetString(1) == pass )
                {Session ["id"]=id ;
                    Session ["pass"]=pass ;
                    conn.Close ();
                    switch (limit)
                    {
                        case "0":
                            Response.Redirect("A-main.aspx");
                            break;
                        case "1":
                            Response.Redirect("personnelmain.aspx");
                            break;
                        case "2":
                            Response.Redirect("personnelmain.aspx");
                            break;
                    }
                   
                }
            }
                else 
                {
                    Label3.Text ="用户名或密码错误!";
                }
            
            }   
        finally  
        {
            conn.Close ();
        }
    }
}求高人指点~

解决方案 »

  1.   

    查询语句多了个=号,去掉看看
    selectstr = "Select * from user where= limit='管理员'";
      

  2.   

    limit的值在case种未找到
    导致selectstr="";而且where后面多了个=
    selectstr = "Select * from user where= limit='管理员'";
    应该是
    selectstr = "Select * from user where limit='管理员'";using System;
    using System.Data;
    using System.Configuration;
    using System.Collections;
    using System.Web;
    using System.Web.Security;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Web.UI.WebControls.WebParts;
    using System.Web.UI.HtmlControls;
    using System.Data.SqlClient;
    public partial class _Default : System.Web.UI.Page
    {
      protected void Page_Load(object sender, EventArgs e)
      {  }
      protected void Button1_Click(object sender, EventArgs e)
      {
      string id = TextBox1.Text.ToString().Trim();
      string pass = TextBox2.Text.ToString().Trim();
      string limit = RadioButtonList1.SelectedValue.Trim();
      string selectstr = "";
      switch (limit)
      {
      case "0":
      selectstr = "Select * from user where= limit='管理员'";
      break;
      case "1":
      selectstr = "Select * from user where= limit='项目经理'";
      break;
      case "2":
      selectstr = "Select * from user where= limit='员工'";
      break;    }
      SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["RCDBConnectionString"].ConnectionString);
      SqlCommand cmd = new SqlCommand(selectstr, conn);
      try  
      {
      conn.Open ();
      SqlDataReader sdr=cmd.ExecuteReader(); ??????????尚未初始化
      if(sdr.Read ())
      {
      if(sdr.GetString(1) == pass )
      {Session ["id"]=id ;
      Session ["pass"]=pass ;
      conn.Close ();
      switch (limit)
      {
      case "0":
      Response.Redirect("A-main.aspx");
      break;
      case "1":
      Response.Redirect("personnelmain.aspx");
      break;
      case "2":
      Response.Redirect("personnelmain.aspx");
      break;
      }
        
      }
      }
      else  
      {
      Label3.Text ="用户名或密码错误!";
      }
        
      }   
      finally   
      {
      conn.Close ();
      }
      }
    }
      

  3.   

    limit的值在case种未找到
    导致selectstr="";而且where后面多了个=
    selectstr = "Select * from user where= limit='管理员'";
    应该是
    selectstr = "Select * from user where limit='管理员'";using System;
    using System.Data;
    using System.Configuration;
    using System.Collections;
    using System.Web;
    using System.Web.Security;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Web.UI.WebControls.WebParts;
    using System.Web.UI.HtmlControls;
    using System.Data.SqlClient;
    public partial class _Default : System.Web.UI.Page
    {
      protected void Page_Load(object sender, EventArgs e)
      {  }
      protected void Button1_Click(object sender, EventArgs e)
      {
      string id = TextBox1.Text.ToString().Trim();
      string pass = TextBox2.Text.ToString().Trim();
      string limit = RadioButtonList1.SelectedValue.Trim();//limit的值不是0,1,2导致selectstr = "";  string selectstr = "";
      switch (limit)
      {
      case "0":
      selectstr = "Select * from user where limit='管理员'";//多个=,去掉=
      break;
      case "1":
      selectstr = "Select * from user where= limit='项目经理'";//多个=,去掉=
      break;
      case "2":
      selectstr = "Select * from user where= limit='员工'";//多个=,去掉=
      break;    }
      SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["RCDBConnectionString"].ConnectionString);
      SqlCommand cmd = new SqlCommand(selectstr, conn);
      try  
      {
      conn.Open ();
      SqlDataReader sdr=cmd.ExecuteReader(); ??????????尚未初始化
      if(sdr.Read ())
      {
      if(sdr.GetString(1) == pass )
      {Session ["id"]=id ;
      Session ["pass"]=pass ;
      conn.Close ();
      switch (limit)
      {
      case "0":
      Response.Redirect("A-main.aspx");
      break;
      case "1":
      Response.Redirect("personnelmain.aspx");
      break;
      case "2":
      Response.Redirect("personnelmain.aspx");
      break;
      }
        
      }
      }
      else  
      {
      Label3.Text ="用户名或密码错误!";
      }
        
      }   
      finally   
      {
      conn.Close ();
      }
      }
    }
      

  4.   

    报这个错误还没到执行SQL呢,所以先不用管SQL语句是否错误,肯定是switch完事后SQL串还是空值建议加个Default   给个默认串
      

  5.   

    1、SQL语句有问题2、属性尚未初始化,说明数据库连接字符串有问题(Web.Config文件中的配置有问题)
      

  6.   

    Default 后面应该怎么写呢?本人是在是比较菜鸟~
      

  7.   

    把limit值改成0、1、2也没有什么效果的样子~还是尚未初始化~