cmd.CommandText = "UPDATE [user] SET online = True WHERE name ='"+username+"'";
有误,
改为cmd.CommandText = "UPDATE [user] SET online = 'True' WHERE name ='"+username+"'";
试试

解决方案 »

  1.   

    说明online字段是bool型的。
    name字段是文本型的。
    楼上的方法我试过了,还是那个错误。
      

  2.   

    应该是你的Sql语句写错了 ,操作access是这样写的吗??
      

  3.   

    我说过了,我的SQL语句在ACCESS里专门试过了,是没有错误的。
    你仔细看看出错的异常信息就能知道不是这个错误的。不过还是谢谢你。
      

  4.   

    to CLAYBORNE(Clay)
    能告诉我怎么看是否有权限呢?
      

  5.   

    不只接使用值,用能数试试
    cmd.Parameters.Add("@onlineState",bool);
    cmd.Parameters.Add("@username",SqlDbType.Char);
    sc.Parameters["@onlineState"].Value=true;
    sc.Parameters["@username"].Value=username;
    sc.ExecuteNonQuery();
      

  6.   

    问题已经解决。原来是因为read字段是关健字,需要加[]!
    多谢大家的帮助。