刚开始学~之前的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("修改用户权限成功");        }

解决方案 »

  1.   

     strqx = "update Tuser set qx=0 where [name]='str1'";
    'str1' ?
    字符串有问题吧
      

  2.   

    我是想通过str1代表选中listBox里的字段内容,然后用修改数据的sql语言实现啊 语法没有提示错误啊~我也在想是不是str1的问题,不过我用MessageBox.show显示str1确实已经变成了我选中listBox里的字段内容了啊~
      

  3.   

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

  4.   

    strqx = "update Tuser set qx=0 where [name]='"+str1+"'";
      

  5.   

    多谢啦~终于不用纠结了MessageBox.show 显示的是"update Tuser set qx=1 where [name]='biabia'";
    而不再是"update Tuser set qx=0 where [name]='str1'";
    这就跟+TextBox.Text+一样。
      

  6.   

    strqx = "update Tuser set qx=0 where [name]='"+str1+"'";string strqx;
    strqx = string.format(strqx = "update Tuser set qx=0 where [name]='{0}'",str1);等等各种方法拼接SQL 语句字符串