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)
{
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)
里来;//sqlparameter参数化数据@username又是什么看不懂哦;
用using释放connection资源参数化sql。。string sql ="select * from tb where username = @username";
SqlParameter uname = new SqlParameter("username", SqlDbType.参数类型);
_uname.Value = 参数值;
cmd.Parameters.Add(_uname);参数化sql语句更安全
参数可以有效防止注入。
using() 在你执行完using里的代码后会自动释放资源和关闭连接
sqlparameter 查询时尽量用参数 避免连接字符串带来的sql注入问题
相当于自动关闭数据裤连接,那样就可以不用写.close()方法显示关闭了。
例如:sqlconnection con=new sqlconnection(); using(con.open()) //自动关闭数据连接,可以不用显示调用close()方法。
------------------------
con.open();
con.close();
SqlParameter uname = new SqlParameter("username", SqlDbType.参数类型);
_uname.Value = 参数值;
cmd.Parameters.Add(_uname);还不懂
如果写成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);
这样就可以避免前面的问题。
{
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(); }
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();
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("登录失败");
}
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("登录失败");
}