ado.net
1、得到数据库的连接信息(相当于是得到了mm的电话) string connStr = "Database=TestDB;Server=.;Integrated Security=false;Uid=sa;Password=123;"; string connStr = ConfigurationManager.ConnectionStrings["sq_ruanmou"].ToString(); 2、创建一个SqlConnection的对象(买了一部手机) SqlConnection con = new SqlConnection(connStr); 3、和数据库建立起连接(开始拨通mm的手机) con.Open(); 4、明确对数据库要做的事情(你要对mm做的事情) string sSql = "select UserId from UserInfor where UserName='" + username + "' and Pwd='" + pwd + "' "; string sSql = string.Format("select UserId from UserInfor where UserName='{0}' and Pwd='{1}'", username, pwd); // 5、得到一个sqlcommand对象(开始向mm表达,开始执行) using (SqlCommand cmd = new SqlCommand(sSql, con)) { using (SqlDataReader read = cmd.ExecuteReader())//执行sql语句,并将执行之后的结果返回给read { //6、判断数据是否存在(判断mm是否同意) if (read.HasRows) { //Response.Write("登录成功"); Response.Redirect("UserM.aspx"); } else { Response.Write("用户名或者密码错误"); } } }
防止Sql注入:
防sql注入 string sSql = "select UserId from UserInfor where UserName=@UserName and Pwd=@Pwd"; SqlParameter[] paras = new SqlParameter[] { new SqlParameter("@UserName", username), new SqlParameter("@Pwd", pwd) }; using (SqlCommand cmd = new SqlCommand(sSql, con)) { foreach (var item in paras) { cmd.Parameters.Add(item); } using (SqlDataReader read = cmd.ExecuteReader())//执行sql语句,并将执行之后的结果返回给read { if (read.HasRows) { //Response.Write("登录成功"); Response.Redirect("UserM.aspx"); } else { Response.Write("用户名或者密码错误"); } } }
数据库有存储过程(名字就是procSelUser)
//调用存储过程 //using (SqlCommand cmd = new SqlCommand("procSelUser", con)) //{ // cmd.CommandType = CommandType.StoredProcedure; // SqlParameter[] paras = new SqlParameter[] { new SqlParameter("@UserName", username), new SqlParameter("@Pwd", pwd) }; // foreach (var item in paras) // { // cmd.Parameters.Add(item); // } // using (SqlDataReader read = cmd.ExecuteReader())//执行sql语句,并将执行之后的结果返回给read // { // if (read.HasRows) // { // //Response.Write("登录成功"); // Response.Redirect("UserM.aspx"); // } // else // { // Response.Write("用户名或者密码错误"); // } // } //}