日期:2014-05-17  浏览次数:20717 次

VS08 c#更新access数据库 update更新不了数据~是权限问题吗

刚开始学~之前的insert into是因为字段name password是系统默认有的,会有错误,加上了[]就好了,但是update没有提示错误 可是一直没有更新数据。求指点啊-
private void button1_Click(object sender, EventArgs e)
        {

            OleDbConnection aConnection = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Application.StartupPath + "/" + "DB_student.mdb");
            aConnection.Open();          
            string strqx,str1;
            str1 = listBox1.SelectedValue.ToString();
             MessageBox.Show(str1);
            if (checkBox3.Checked == false)
                strqx = "update Tuser set qx=0 where [name]='str1'";
              
            else
                strqx = "update Tuser set qx=1 where [name]='str1'";
              
            MessageBox.Show(strqx);
            OleDbDataAdapter myadapter = new OleDbDataAdapter(strqx, aConnection); //执行查询
            DataSet ds = new DataSet(); //新建数据集
            myadapter.Fill(ds);//将SQL执行结果,填入数据集ds中
            MessageBox.Show("修改用户权限成功");

        }

------最佳解决方案--------------------
strqx = "update Tuser set qx=0 where [name]='"+str1+"'";


------其他解决方案--------------------
bia神,居然是你
------其他解决方案--------------------
 strqx = "update Tuser set qx=0 where [name]='str1'";


'str1' ?
字符串有问题吧。。。
------其他解决方案--------------------
引用:
strqx = "update Tuser set qx=0 where [name]='str1'";


'str1' ?
字符串有问题吧。。。

我是想通过str1代表选中listBox里的字段内容,然后用修改数据的sql语言实现啊 语法没有提示错误啊~我也在想是不是str1的问题,不过我用MessageBox.show显示str1确实已经变成了我选中listBox里的字段内容了啊~
------其他解决方案--------------------
引用:
strqx = "update Tuser set qx=0 where [name]='str1'";


'str1' ?
字符串有问题吧。。。

应该是这个有问题~试过直接name ='user'(其中的一个用户)是可以修改成功的,但是要怎么才能把我选中的listBox里的用户修改权限呢?我这种定义字符串的方法不对吗~
------其他解决方案--------------------