我采用C#连接access,数据库文件权限的everoen及user都已设为完全控制,但依然无法写入数据。private void button2_Click(object sender, EventArgs e)
        {
            CData _cData = new CData();
            string sql = "update camel_thinner set thinner_name='呵呵'";
            _cData.setDS(sql);
        }
private void button3_Click(object sender, EventArgs e)
        {
            CData _cData = new CData();
            string sql = "insert into camel_thinner(thinner_name) values('稀释剂')";
            _cData.setDS(sql);
        }
public class CData
    {
        private OleDbConnection conn;
        private OleDbDataAdapter oda = new OleDbDataAdapter();
        private OleDbCommand cmd;
        private DataSet myds = new DataSet();
        public CData()
        {
            //
            // TODO: 在此处添加构造函数逻辑
            //
            conn = new OleDbConnection(Properties.Settings.Default.connectionString);
        }
        public DataSet getDS(string strSQL)
        {
            myds = new DataSet();
            oda = new OleDbDataAdapter(strSQL, conn);
            oda.Fill(myds);
            return myds;
        }        public DataSet getDS2(string strSQL, int si, int mi)
        {
            conn.Open();
            myds = new DataSet();
            oda = new OleDbDataAdapter(strSQL, conn);
            oda.Fill(myds, si, mi, "tab1");
            conn.Close();
            return myds;        }        public bool setDS(string strSQL)
        {
            conn.Open();
            cmd = new OleDbCommand(strSQL, conn);
            cmd.ExecuteNonQuery();
            conn.Close();
            return true;
        }
    }
请问如何解决,谢谢

解决方案 »

  1.   

    为何都要弄这么艰难,不如实在一点为好就直接写入access
      

  2.   

    不光是数据库文件,还有所在目录的权限。
    还有这个thinner_name是否是不允许重复的索引字段
      

  3.   

    看看你的CONN取到的字符串对不对,还有你的数据库的位置是不是传的正确。
      

  4.   

    真麻烦,本想用sqlserver的,但是客户那边居然连安装都不想有,真的头痛
      

  5.   

    我前阵子也做了个小的系统给客户,也是用Access做数据库,没有遇到你说的问题,只要保证能连接正确,就应该不会写不进去。再细心点查查吧。
      

  6.   

     conn = new OleDbConnection(Properties.Settings.Default.connectionString);
    看看这个路径是否正确
      

  7.   

    看一下是不是存在两个access的数据库文件,你在你的项目文件下找找看,以前好像遇到过类似的,其实数据已经写入数据库了,你打开看的只是此次数据库的复制备份版本。
      

  8.   

    1,理论上不是, 就把文件夹设置下吧
    2,写的时候看看是不是上次打开没有关闭,有没有个lmdb的文件出现。
      

  9.   

    如果是asp.net的应用程序,给数据库文件加network service读写权限
      

  10.   

    其实执行
     "insert into camel_thinner(id,thinner_name) values(1,'稀释剂')";执行第2次后他会提示主键重复的错误,但关闭数据库就是没有数据。而且再运行一次程序又可以执行。真是奇怪
      

  11.   

    提示什么错误了?如果没有 那么说明根本没数据库交互
    我之前也做过一些access数据库的项目,没出现过。
      

  12.   


    没提示什么错误,一切正常,就是不写入数据。而且我转为用php写就OK了
      

  13.   

    我估计是你的权限问题  你给 数据库一个 everyone可读写的权限  试一试
      

  14.   

    搜索select 一下
    看是不是真的连接上了
      

  15.   

    http://topic.csdn.net/u/20110225/18/618028a5-2089-4996-bb5a-18589a6ee77d.html
      

  16.   

    应该不是无法写入,在写入的时候,它调用的是debug里面自动生成的数据库,那里的数据库应该改变了。