select 是查数据的,你要用更新语句啊

解决方案 »

  1.   

    .mdb文件已经被修改了,然后在代码中查询还是没变
      

  2.   

    修改.mdb中表格的参数不就是更新了吗
      

  3.   

    select语句获得的DataTable   这个DataTable必须的再从数据库中查询填充。不然会是第一次 加载到内存中的数据。
      

  4.   

    我猜测可能内存还是读取的老数据,这是我的代码,
     string myConnectionString = global::Print.........
    string mySql = "select * from 票据控件参数 where.."
    OleDbConnection myConnection = new OleDbConnection(myConnectionString);
    myConnection.Open();
    DataTable myTable = new DataTable();
    OleDbDataAdapter myAdapter = new OleDbDataAdapter(mysql, myConnection);
    myAdapter.Fill(myTable);到这里看代码应该是重新填充,但是debug的table不是.mdb中更新的数据,郁闷
      

  5.   

    无意冒犯。只是我觉得这听起来太不可思议了。我觉得这是不可能的,要么就是你描述地不正确。我理解你的意思是说,如果你已经修改了数据库,然后再去查询,查找到的东西还是修改前的东西?对吗?
    如果我理解的正确,那么只能说明你查出来的东西和你修改的是不同的东西。另外如果你先查询了,填充了datatable然后再到企业管理器中手动修改数据库表,datatable是不会自动更新的把。不然它也太智能了。如果我的理解有误,请补充。
      

  6.   

    我是修改了.mdb数据库中的参数(确认已经修改),然后在代码中使用查询语句
      

  7.   

    你不要加WHERE试试看。把整表都查出来,然后再比对一下是否有改,我觉得你应该是漏了什么。
      

  8.   

    我断点后sql语句:select * from 票据控件参数 where 票据模板name ='XXX支票’
    是根据表格中的票据模板name来查询的结果,在数据库中也此对应项找到查询结果,但是就得到刚才的情况
      

  9.   

    你用相同的sql语句,在Access里跑一下,看看跟你程序读出来的是否一样。
      

  10.   

    使用sql server数据库查询后得到的结果就是更新后的数据
      

  11.   

    数据源  Data source= |DataDirectory|\\Data\\printerfinal.mdb;Persist Security Info=True不晓得啊,这里的DataDirectory是相对路径吗?应该标识到哪里?
      

  12.   

    你用绝对路径先试试。或者用Application.StartupPath。我是怀疑你ACCESS文件太多。你程序指向的那个和你手动修改的那个并不是同一个。
      

  13.   

    application startpath在哪里设,我用的vs2005
      

  14.   

    这是C#代码。反正你用绝对路径先试试。先别用那Applicaiton.StartupPath了
      

  15.   

    补充下:我看到的数据是在vs2005 DataSet可视化工具上显示的
      

  16.   

    application.startuppath在哪里设置?
      

  17.   

    把进程中的Access关闭,重新打开试试
      

  18.   

    你直接与exe文件放在同一下目录下吧,
    OleDbConnection strConnection = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=printerfinal.mdb;Persist Security Info=False");如果用DataDirectory,就相当data目录,
    Data source= |DataDirectory|printerfinal.mdb;Persist Security Info=True
      

  19.   

    修改好了,我将config文件中的一个相对路径  |DataDirectory| 改成了Data文件夹的绝对路径,就可以了。原来的DataDirectory可能是链接到了其他地方。。
      

  20.   

    你说的|DataDirectory| 是什么意思啊?我也是这里不太明白,在Settings.Designer.cs中属性中关于connectionstring有这个标识,我只当时相对路径
      

  21.   

    数据库文件如果是放在你建立的data目录下,那么|DataDirectory|就相当data目录,使用时Data source= |DataDirectory|printerfinal.mdb;就可。现在你的数据库文件放在哪个目录下?你用相对路径就可
      

  22.   

    你说的是和.sln放在同一路径吗?
      

  23.   


    我试了下,好像是链接到\bin\debug\printerfinal.mdb的数据库 这是另外一个文件夹
      

  24.   

    如果是放在\bin\debug\printerfinal.mdb,用:
    Provider=Microsoft.Jet.OLEDB.4.0;Data Source=printerfinal.mdb;Persist Security Info=False"
      

  25.   

    恩恩,你的回答很对,现在我是链接到\bin\data\printerfinal.mdb,该如何操作呢
      

  26.   

    恩恩,你的回答很对,现在我是链接到\bin\data\printerfinal.mdb,该如何操作呢按照你说的改了,但是提示错误,|DataDirectory|总是定义到\bin\debug\printerfinal.mdb, 在哪里定义|DataDirectory|?
      

  27.   

    不用定义 ,你在项目里建立data目录,将数据库文件放在这个目录下,在Data source= |DataDirectory|printerfinal.mdb
      

  28.   

    我估计你在什么地方配置了|DataDirectory|
      

  29.   

    定位到DEBUG就对了啊,你最终生成的EXE文件就在这个文件夹下,当然只能去找到这个文件夹了.
    如果不想用绝对路径,还想要跳出程序所在文件夹,你需要使用类似..\..\这样的形式,后退出来
      

  30.   

    .sln是你开发环境的工程目录,跟运行是两码事.