string ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=d:\\客户资料管理系统\\db1.mdb";
            OleDbConnection oleDbConnection1 = new OleDbConnection(ConnectionString);
            oleDbConnection1.Open();
            OleDbCommand oleDbCommand1 = new OleDbCommand();
            oleDbCommand1.Connection = oleDbConnection1;
            oleDbCommand1.CommandType = CommandType.Text;
            oleDbCommand1.CommandText = "UPDATE yhuser SET boox1='" + checkBox1.Checked + "', boox2='" + checkBox2.Checked + "', boox3='" + checkBox3.Checked + "', boox4='" + checkBox4.Checked + "', boox5='" + checkBox5.Checked + "', boox6='" + checkBox6.Checked + "', boox7='" + checkBox7.Checked + "', boox8='" + checkBox8.Checked + "', boox9='" + checkBox9.Checked + "' WHERE  number like '%" + textBox15.Text + "%'";
            oleDbCommand1.ExecuteNonQuery();
            oleDbConnection1.Close();
请问那位大侠能告诉我错在那里
oleDbCommand1.ExecuteNonQuery();
 这句报错

解决方案 »

  1.   

    access数据库oledbconnection里,通配符号好像不能用百分号%,要用*号,我记得
      

  2.   


    改为*号 之后结果还是一样的 
    我没装sql 不可以调试这个SQL语句对不对!
      

  3.   

    '" + checkBox1.Checked + "' 这里的格式是不是不对 ?
     这个checked的值是布尔型的!
      

  4.   

    1.检查"’",应该是"'";
    2.检查checkbox.check有值没有。
      

  5.   

    接收参数时,参数值为空;   
    Select字段时,没有选取要显示数据字段,或选取错误;   
      

  6.   

    数据类型错误:
    你是拼接字符串,而不是传递参数,那么checkBox1.Checked就会以"true"或者'false'传入,而不是0或1,除非你的boox1是varchar型的,否则肯定无法更新。其它类似。
      

  7.   

    我定义BOOX1 是 ACCESS里面的 是/否 类型 但还是不可以 
    请问下该怎么做
    谢谢
      

  8.   

     你说的第1个检查没问题
     第2个 checkbox.checked的值不是默认为falus 吗?
      

  9.   

    这个我没有尝试过,你可以试下用Convert.ToInt16(checkBox3.Checked)。
      

  10.   

    用三目运算符:checkBox1.Checked ? 1 : 0
      

  11.   

    我要保存checkbox.checked的值到数据库 该怎么做啊
    谢谢    。 
     
      

  12.   

    可能是你的SQL语句有问题,这样你调试的时候取出来,放到数据库里去执行一下,就知啦
    也有可能是读写数据库的权限问题
    也有可能是传参问题
    反正LZ你要一一去调试才知的,我以前都有碰到这个问题