关于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 + "'";


若还出问题请修改表名