解决方案 »

  1.   

    这是用第二个程序的结果。其中,前5行是在ACCESS中输入的,第六行是程序操作的,能添加到GridView列表,但ACCESS表实际上没有被插入数据。
      

  2.   

    catch
    修改为
    catch (Exception ex)
    {
        MessageBox.Show(ex.Message);
        ...
    }
    看输出什么错误你的sql中,如果id列不是字符串而是数字,不要加单引号
      

  3.   

    加不加单引号都一样,函数返回成功,基表没变化。
    修改catch 
    因为本身它没返回错误,所以catch不到,只有故意输入了重复了 Id,它才会指出错误,这个错误是常规错误,因为我们知道它就是输入了重复的键。但是,基表并没更新,却报告成功或者那个常规错误,就是这个情况。
      

  4.   

    还是用第一种方法插入一次,你要到项目所在的Bin\debug\目录下去检查数据库文件。
      

  5.   

    实在没辙,难道要让我回到VFP了?VFP数据库表实在不安全啊!
      

  6.   

    是用的第一种,查看文件什么的我都注意了,因为程序退出再进去,添加或修改的数据还是没变化,还是只有前五行,也只有这五行。用ACCESS打开也一样。
      

  7.   

    连接字符串中 Provider=Microsoft.Jet.OLEDB.4.0;
    替换成Provider=Microsoft.ACE.OLEDB.12.0;试试呢?
      

  8.   

    我没说过失败啊。
    曾经非常麻烦地用C#编程写了创建ACCESS的程序,以为是ACCESS的问题,然而不是这个问题
      

  9.   

    在sql server中,程序很正常。因为是桌面应用程序,不可能为客户装sql server吧,就是sql server compact,它没有存储过程和视图,感觉很不好。如果ACCESS能行,最好,不行的话,VFP就向我招手了。
      

  10.   

    在插入数据前后分别检查mdb文件的最后修改日期,看是否文件被修改过。如果被修改过但打开数据库还是没更新,那我只好说邪门了。
      

  11.   

    sql server Compact 4.0绝对比access强,你也可以用sqlite的。
      

  12.   

    你是怎么看里面内容的?直接双击mdb文件?好奇怪的问题哦
      

  13.   

    办公室和家里两台台式电脑,现在用的笔记本,win7 win8,32位64位都有,都是这种情况,但是都是一个VS2013光盘装的。装了ACCESS,当然可以打开mdb文件了。最近看了一下LightSwich,好有趣,那里有 caninsert,canupdate,candelete,难道C#也要这样?
      

  14.   

    ACCESS并不比其他数据库更安全.
    既然你查询没有问题,用程序查询一下试试看
      

  15.   

    找到原因了,ACCESS数据库项目设置了“始终复制”,因而产生了问题,每次都回到原来的项目里的数据库。现在设置为“如果较新则复制”,问题就解决了。第一次用VS和C#,经验不足啊!谢谢大家回复。
    发现原因很偶然,在没有打开VS的时候,直接运行了DEBUG下面生成的程序,结果竟然真的成功了,数据插入修改都顺利,心情也不错。