关于C#中调用access数据库时查询语句的有关问题
关于C#中调用access数据库时查询语句的问题
各位大神你们好,我是刚涉足于C#不久的新人,最近想要弄个登录界面,连接的数据库是access.在此之前已经在access里面建立了一个名为"users"的表,其中设了2列,1列是"uname",另外1列是"ukey",分别对应用户名和密码.
表的内容是这样的
uname ukey
111 111
222 222
333 333
444 444
但是我在C#中要用到的查询语句上就卡住了很久.
具体我是这样写的:
string cmdStr = "select * from users where uname =" + "'" + this.textBox1.Text + "'" + "and ukey=" +"'"+ textBox2.Text;
OleDbCommand cmd = new OleDbCommand(cmdStr, con);
OleDbDataReader reader = cmd.ExecuteReader();
if (reader.Read()) //如果找到用户信息,说明登录成功
{
Form2 newForm = new Form2();
newForm.Show(); //弹出主窗体
this.Hide(); //隐藏用户登录窗体
}
else
{
MessageBox.Show("用户名或密码错误!");
}
但是 OleDbDataReader reader = cmd.ExecuteReader(); 这行语句就会报错,报错显示"字符串的语法错误,在查询表达式 'uname ='111'and ukey='111' 中。" 在其他很多地方找了下类似的问题,有些人说是查询语句引号的使用错误,但是我不懂得怎么修改,如果真是引号的问题,各位可以教教我怎么修改吗?万分感谢了!
p.s.我试过修改过一下那句的部分引号,就会出现无论我用户名和密码怎么输入,都会显示下面的else分支"用户名或密码错误",这个也让我很纳闷..TAT..
------解决方案--------------------
单引号成对
string cmdStr = "select * from users where uname =" + " '" + this.textBox1.Text + "' " + "and ukey=" +" '"+ textBox2.Text+ "' ";
------解决方案--------------------
string cmdStr = "select * from [users] where uname='" + this.textBox1.Text + "' and ukey='" + this.textBox2.Text + "'";
若还出问题请修改表名
各位大神你们好,我是刚涉足于C#不久的新人,最近想要弄个登录界面,连接的数据库是access.在此之前已经在access里面建立了一个名为"users"的表,其中设了2列,1列是"uname",另外1列是"ukey",分别对应用户名和密码.
表的内容是这样的
uname ukey
111 111
222 222
333 333
444 444
但是我在C#中要用到的查询语句上就卡住了很久.
具体我是这样写的:
string cmdStr = "select * from users where uname =" + "'" + this.textBox1.Text + "'" + "and ukey=" +"'"+ textBox2.Text;
OleDbCommand cmd = new OleDbCommand(cmdStr, con);
OleDbDataReader reader = cmd.ExecuteReader();
if (reader.Read()) //如果找到用户信息,说明登录成功
{
Form2 newForm = new Form2();
newForm.Show(); //弹出主窗体
this.Hide(); //隐藏用户登录窗体
}
else
{
MessageBox.Show("用户名或密码错误!");
}
但是 OleDbDataReader reader = cmd.ExecuteReader(); 这行语句就会报错,报错显示"字符串的语法错误,在查询表达式 'uname ='111'and ukey='111' 中。" 在其他很多地方找了下类似的问题,有些人说是查询语句引号的使用错误,但是我不懂得怎么修改,如果真是引号的问题,各位可以教教我怎么修改吗?万分感谢了!
p.s.我试过修改过一下那句的部分引号,就会出现无论我用户名和密码怎么输入,都会显示下面的else分支"用户名或密码错误",这个也让我很纳闷..TAT..
------解决方案--------------------
单引号成对
string cmdStr = "select * from users where uname =" + " '" + this.textBox1.Text + "' " + "and ukey=" +" '"+ textBox2.Text+ "' ";
------解决方案--------------------
string cmdStr = "select * from [users] where uname='" + this.textBox1.Text + "' and ukey='" + this.textBox2.Text + "'";
若还出问题请修改表名