求教,求解释! 谢谢 这段代码是什么意思?
String connStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Application.StartupPath + "\\人事数据库.mdb";
OleDbConnection conn = new OleDbConnection(connStr);
//String sql = "select count(*) from 用户密码表 where username='" + textBoxName.Text + "' and password='" + textBoxPassword.Text + "'";
conn.Open();
string sql = "select count(*) from 用户密码表 where username=@name and password=@pass";
OleDbCommand cmd = new OleDbCommand(sql ,conn );
cmd.Parameters.Add(new OleDbParameter ("@name",OleDbType .Char ));
cmd.Parameters["@name"].Value = textBoxName.Text;
cmd.Parameters.Add(new OleDbParameter("@pass", OleDbType.Char));
cmd.Parameters["@pass"].Value = textBoxPassword.Text;
//OleDbDataAdapter da = new OleDbDataAdapter(sql, conn);
//DataTable dt = new DataTable();
//da.Fill(dt);
//int i = dt.Rows.Count;
int i =(int )cmd.ExecuteScalar ();
conn.Close();
------解决方案--------------------验证登陆,判断用户名和密码是否正确
------解决方案--------------------
C# code
String connStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Application.StartupPath + "\\人事数据库.mdb";
//连接数据库的位置,Application.StartupPath:程序的起始位置,就是程序的当前目录(在没有打开文件夹对话框使用)
OleDbConnection conn = new OleDbConnection(connStr);
//创建数据库的连接
conn.Open();
//打开数据库
string sql = "select count(*) from 用户密码表 where username=@name and password=@pass";
//查询的sql语句,带二个参数(占位符)
OleDbCommand cmd = new OleDbCommand(sql ,conn );
//创建sql语句命令对象
cmd.Parameters.Add(new OleDbParameter ("@name",OleDbType .Char ));
//指明参数类型
cmd.Parameters["@name"].Value = textBoxName.Text;
//为参数指定值
cmd.Parameters.Add(new OleDbParameter("@pass", OleDbType.Char));
cmd.Parameters["@pass"].Value = textBoxPassword.Text;
int i =(int )cmd.ExecuteScalar ();
//执行,返回的时候 首行首列,你的查询sql也只有一个值
conn.Close();
//关闭连接
------解决方案--------------------
------解决方案--------------------
参数是 username和password两列 等于的 值
例如,请名字叫“凤姐”的同学举手,
然后你就举手了,算作一个
名字就是 username,@name是“凤姐”,在后面
cmd.Parameters["@name"].Value = textBoxName.Text;
这里指定