给个简单的登录案例,再给下你们的想法,就是这样谢了。

解决方案 »

  1.   

    using (SqlConnection cn = new SqlConnection(“”))
      {
      SqlCommand cmd= new SqlCommand("select * from tb where username='"+username+"'", cn);//sqlparameter参数化数据@username
      cn.Open();
      using (SqlDataReader dr = cmd.ExecuteReader())
      {
      while (dr.Read())
      {//判断密码
      }
      }
      }
    也可使用实体类
    User u=UserBLL.GetuserByName(username)
      

  2.   

    2楼为什么你开头要用using()里来连接cn,不是太懂,还有为什么你要把查找语句放在command//执行语句
    里来;//sqlparameter参数化数据@username又是什么看不懂哦;
      
      

  3.   


    用using释放connection资源参数化sql。。string sql ="select * from tb where username = @username";
    SqlParameter uname = new SqlParameter("username", SqlDbType.参数类型);
    _uname.Value = 参数值;
    cmd.Parameters.Add(_uname);参数化sql语句更安全
      

  4.   

    初学似乎不太理解为什么using.
    参数可以有效防止注入。
      

  5.   


    using() 在你执行完using里的代码后会自动释放资源和关闭连接
    sqlparameter 查询时尽量用参数 避免连接字符串带来的sql注入问题
      

  6.   

    using可以自动释放资源
    相当于自动关闭数据裤连接,那样就可以不用写.close()方法显示关闭了。
    例如:sqlconnection con=new sqlconnection();      using(con.open()) //自动关闭数据连接,可以不用显示调用close()方法。
    ------------------------
          con.open();
          con.close();
      

  7.   

    7楼讲的很清楚,但那参数化sql。。string sql ="select * from tb where username = @username";
    SqlParameter uname = new SqlParameter("username", SqlDbType.参数类型);
    _uname.Value = 参数值;
    cmd.Parameters.Add(_uname);还不懂
      

  8.   

    因为username是你要传的变量。
    如果写成string sql ="select * from tb where username = ‘"+username+"'";
    也可以。但这样一方面执行效率不高,二是容易被注入。
    string sql ="select * from tb where username = @username";
    SqlParameter uname = new SqlParameter("username", SqlDbType.参数类型);
    _uname.Value = 参数值;
    cmd.Parameters.Add(_uname);
    这样就可以避免前面的问题。
      

  9.   

    private void button1_Click(object sender, EventArgs e)我现在做到这不知思路该怎么走了
            {
                string id = textBox1.Text.Trim();
                string sql="Select * from StudentID";
                SqlConnection sqlcon = new SqlConnection("Server=.;database=Accp;uid=SaveFileDialog;pwd=123456");
                SqlCommand sqlcom = new SqlCommand(sql, sqlcon);
                sqlcon.Open();        }
      

  10.   

    SqlConnection con = new SqlConnection(@"data Source=.;database=数据库名;uid=用户名;pwd=密码");
                con.Open();
                SqlCommand cmd = new SqlCommand("select*from 表名  where 作为用户名的数据='" + comboBox1.Text + "' and 作为密码的数据='" + textBox1.Text + "'", con);
                SqlDataReader sd = cmd.ExecuteReader();
                if (comboBox1.Text.Trim() != "" || textBox1.Text.Trim() != "")
                {
                    if (sd.Read())
                    {
                         Form2 form = new Form2();
                        form.Show();
                        this.Hide();
                    }
                    else
                    {
                        MessageBox.Show("对不起!用户名或密码错误");
                        comboBox1.Focus();
                    }            }
                else
                {
                    MessageBox.Show("用户名或密码不能为空");
                    comboBox1.Focus();            }
                con.Close();
      

  11.   

     string id = textBox1.Text.Trim();                        做到这错了!说不包含1的引数函数
                string sql="Select * from StudentID";
                SqlConnection sqlcon = new SqlConnection("Server=.;database=Accp;uid=SaveFileDialog;pwd=123456");
                SqlCommand sqlcom = new SqlCommand(sql, sqlcon);
                sqlcon.Open();
                SqlDataReader dt=new SqlDataReader(sqlcom);
                if (dt.Read())
                {
                    MessageBox.Show("登录成功");
                }
                else
                {
                    MessageBox.Show("登录失败");
                }
      

  12.   

     string id = textBox1.Text.Trim();有错误说是没有这个类型的命名空间,不懂啊!
                string sql="Select * from StudentID where ID="+id+"";
                SqlConnection sqlcon = new SqlConnection("Server=.;database=Accp;uid=SaveFileDialog;pwd=123456");
                SqlCommand sqlcom = new SqlCommand(sql, sqlcon);
                sqlcon.Open();
                SqlDataReader dt=new ExecuteReader(sqlcom);
                string ID = "";
                string pwd = "";
                if (dt.Read())
                {
                    ID= dt["ID"].ToString();
                    pwd = dt["pwd"].ToString();
                }            if (pwd==textBox2.Text.Trim())
                {
                    MessageBox.Show("登录成功");
                }
                else
                {
                    MessageBox.Show("登录失败");
                }