protected void Button1_Click(object sender, EventArgs e)
    {
        
        string strConn = ConfigurationManager.AppSettings["ConnString"];
        SqlConnection Conn = new SqlConnection(strConn);
        string sql = "SELECT PeopleID, PeopleName,Pwd FROM PI WHERE PeopleName='"+TextBox1.Text+"'";
        SqlDataAdapter adp = new SqlDataAdapter(sql, Conn);
        DataTable dt = new DataTable();
        adp.Fill(dt);
        SqlCommand cmd = new SqlCommand(sql, Conn);
        if (Conn.State != ConnectionState.Open)
        {
            Conn.Open();
        }
        cmd.ExecuteNonQuery();
        Conn.Close();        if (dt.Rows.Count > 0)
        {
            if (TextBox2.Text == dt.Columns["Pwd"].ToString())
            {
                Response.Redirect("login.aspx");
            }
            Response.Write("<script language='javascript'>alert('密码错误!');</script>");
        }
        Response.Write("<script language='javascript'>alert('您还没有注册!');</script>"); 
        下面是我的连接字符串配置<appSettings>
    <add key="ConnString" value="server=.;database=Datebase;User ID=;password=;Persist Security Info=true;"/>
   
  </appSettings>
数据库在本机上有,我就是想用vs2010仿真一下,很简单的。小弟新手,程序出错不知道问题所在,就是显示用户代码未处理!可否有高手解答?

解决方案 »

  1.   

    sql字段、表名是否正确,出什么异常?
      

  2.   

    <add key="ConnString" value="server=.;database=Datebase;User ID=;password=;Persist Security Info=true;"/>
    楼主,您是不是忘记写用户名和密码了?
      

  3.   

    写上用户名和密码还是用户administrator登录失败,求指教
      

  4.   

    楼主,需要的是SQL Server的用户名和密码;
    您的SQL Server的用户名是administrator?
      

  5.   

    就是登陆sql server的用户名啊,就是这个 
      

  6.   

    Persist Security Info=true;
    楼主,您把这句去掉试试
      

  7.   

    LZ貌似使用Windows身份验证连接数据库 按常理说应该没问题 楼主试试用SQL身份验证 记得在SQL里面设置一下混合身份验证 
      

  8.   

    <add key="ConnString" value="server=.;database=Datebase;User ID=;password=;Persist Security Info=true;"/>
    第一步:检查配置连接字符串,写完整,User ID=用户名   password=密码  database=你的数据库名称
            另外server=你要连接的地址(.代表你本机 ,或者你在此写你要连接机器的IP地址)第二步:
            测试是否连接上数据库,断点跟踪一下Conn 看看是否连接上并打开第三步:
            断点跟踪一下你的dt看里面是否有数据,如果没数据看看数据表中是否有数据,最好把你的SQL拿到数据库中查询一下。代码写的不是很规范需要多写哦。
      

  9.   

    SqlCommand cmd = new SqlCommand(sql, Conn);
      if (Conn.State != ConnectionState.Open)
      {
      Conn.Open();
      }
      cmd.ExecuteNonQuery();
      Conn.Close();这个删掉 不管你报不报错不要写无用的代码
      

  10.   


    SqlDataAdapter adp = new SqlDataAdapter(sql, Conn);
      DataTable dt = new DataTable();
      adp.Fill(dt);
    这个代码块的作用是干什么的?我没看出来!~
    <add key="ConnString" value="server=.;database=Datebase;User ID=;password=;Persist Security Info=true;"/>配置文件你可以自动生成一个
    用服务器资源管理器创建一个连接,复制它的连接字符串就不会错了
      

  11.   

    修改下:
     string strConn = ConfigurationManager.AppSettings["ConnString"];
      SqlConnection Conn = new SqlConnection(strConn);  if (Conn.State != ConnectionState.Open)
      {
      Conn.Open();
      }
      string sql = "SELECT PeopleID, PeopleName,Pwd FROM PI WHERE PeopleName='"+TextBox1.Text+"'";
      SqlDataAdapter adp = new SqlDataAdapter(sql, Conn);
      DataTable dt = new DataTable();
      adp.Fill(dt);
      Conn.Close();
      

  12.   

    各位大神,谁知道user id可不可以填administrator阿,我登陆sql server的时候就是用的windows验证登陆 的,每次都是用户登陆失败。
      

  13.   

    userid默认是sa,密码自己设,当然也可以为空,如果实在找不到可以用windows验证的方式登录SQLSERVER的客户端去修改LZ在执行SqlDataAdapter填充的时候是需要打开数据库连接的,并且你代码里面的cmd.ExecuteNonQuery();没啥意义(它执行返回影响的行数,你的是select语句,它一般用于update,insert,delete这种操作语句的)LZ把数据库的账号密码配好,再看我我更改的代码试试
    string strConn = ConfigurationManager.AppSettings["ConnString"];
      SqlConnection Conn = new SqlConnection(strConn);
      string sql = "SELECT PeopleID, PeopleName,Pwd FROM PI WHERE PeopleName='"+TextBox1.Text+"'";
      if (Conn.State != ConnectionState.Open)
      {
        Conn.Open();
      }
      SqlDataAdapter adp = new SqlDataAdapter(sql, Conn);//这里也可以直接初始化一个SQLCommand来进行传递
      DataTable dt = new DataTable();
      adp.Fill(dt);
      
      Conn.Close();