这真是一个从没有遇见过的Bug。
愁了一晚上,愣是没有一点头绪,抓破头皮啊啊啊。
关于更新access数据:
我在程序测试的时候(运行程序)通过gridview,我确实可以看见insert、delete和updata成功了,gridview上面能够刷新数据,这玩意绝对做不得假,毕竟它是绑定了数据源的,但是让人愁的就是,我关掉程序后,返回数据库看,却什么东西都没有!这是算是见鬼吗?!
SQL语句以及程序结构检查过多遍,自己写的自己检查也有难度,所以不排除结构问题,但是可以排除SQL语句的问题,因为sql语句是在数据库里单独测试可行后才移植的。
接着再来看程序,东西本身就简单,所以如果程序长就算了,但是程序语句简单的一逼了,都不知道敲过多少次这破coding了!就是既没有MVC也没有aLINQ或者实体模式什么的东西,完完全全裸奔的connection,open,commnd.ExecuteNonQuery()加上close;这么简单的代码愣是看了一个小时,但翻来覆去真不知道是什么原因。
现在考虑一下数据库的问题,客户要求给access加密,于是使用了比较简单的加密,就是独占的时候设置密码,接着我只要把密码写在app.config里面就可以,这样安装过去的程序就不可以直接打开数据库,但是可以通过程序访问。
会不会是这个地方的问题?
还有access和MSSql之间除了语法稍微有一点差别外,是不是从程序里做更新还要有别的注意??!

解决方案 »

  1.   

    WinForm中使用的Access??你检查一下项目里的文件,是不是不止一个*.mdf文件??
      

  2.   

    我之前修改过命名空间,会不会是相对路径和源文件的问题??或者配置文件里面连接错了?就是那个app.config
      

  3.   

    你检查一下你的那个app.config文件,看那个Access数据库mdb文件的路径具体在哪?感觉你肯定不止1个那个Access文件,检查一下,是不是你看到的并不是你更新过后的Access数据库。
      

  4.   

    好像数据库字段的类型是text的话,内容挺多的时候在数据库中看不到内容,但用程序读的话可以读出来。
      

  5.   

    你的数据库文件放在另一个目录的App_Data文件夹下,当程序编译时会复制它的备份到Debug目录下的App_Data文件夹,所以你调试运行时能改变数据库的内容,但是关闭调试再打开后IDE已经将Debug目录下的数据库文件恢复成原来的文件了。在开发环境中有App_Data文件夹下的数据库文件属性改为不复制就行了。
      

  6.   

    估计是LZ测试时调用的是你项目的DEBUG的目录下的*.mdf文件,改动的是 项目下的*.mdf文件。把项目下的mdf文件放到你项目的DEBUG的目录下估计就有了
      

  7.   


    就是这样!!!
    可恶, access居然会有这样的问题。
    但是现在还没有解决,即使我删除了其他路径的mdb,修改了新的连接,但是为什么会提示不存在文件啊?
      

  8.   

    问题解决了 解决了!! 谢谢各位哥哥姐姐大神小神~~~
    在学校里用了几年的MSSQL了,本来以为已经可以做到处事不惊的,但是第一次真正的做项目居然还会遇到这么多的问题,除了经验不足外,还有就是太过自信了,当初单独被拉出来做这个简单的东西,我还不太满意,但是现在才发现自己太2了。
    这次的错误真是给我这个傻学生好好的上了一课,对于实验和真正的项目而言,还是差别很大的,客户和老师真的太不一样了,没有老师罩着,现在才发现原来学的东西太少太少了……唉,都说上了这条路就是不归路了,但是我这个傻学生却才刚刚开始。
    逛了几年CSDN了,还是第一次发帖,没想到这里的大神们都这么有爱,回帖速度不说,各种经验也毫不吝啬的交流出来,真是感动。
    愿CSDN保佑咱在今后的道路上光辉吧~~
    (今天一直在上课,所以回复慢了~~~)