我用adoconnect连接到access数据库后,设置好了,adotable,dbgrid的属性后可以正确的显示数据库中表的内容,当我发现表的设计不合理,修改了表的设计,也就是删除了表中一列的内容在数据库中显示修改有效成功了。但是当我在delphi中重新把adotable的active改为ture后,dbgrid中显示仍然是我修改前的内容了。我纳闷了。我重新连接了一次adoconnect与access,还是不行!请求大家帮助。
再问用adoquery连接数据库时应该注意什么问题?大家在初学时都遇到过什么问题,说来大家讨论讨论学习学习。
又一问,可以用adoquery的edit,insert等属性就想用adotable那样来修改数据库吗?可以应该注意什么问题?
再一问,当做好了一个程序后应该怎么打包发布呢???
请大家不要嫌我罗嗦,初学者问题多多,请大家多多照顾。
谢谢了。

解决方案 »

  1.   

    修改完以后要post
    这样才能写入数据库
      

  2.   

    现在做系统都是大型的数据库,如sql2000,oracle等等
    都是向网络型,三层架构方向发展,为什么还在用access?
      

  3.   

    帮你顶下先
    你删除的是内容还是列
    如果删除列,要麻烦很多
    如果修改成功的话,ACTIve:=false
                      Active:=true;
      

  4.   

    第一:双击adotable,dbgrid,分别修改字段对象及Columns对象。
    第二:adoquery 连接时,设好connection, SQL即可。
    第三:应该可以。但使用adoquery的目的是想通过SQL语句来控制数据库的,效率上应该比Adotable高。
    第四:建议使用installShield来打包发布。
      

  5.   

    我想做一个单机版小程序要用access比较方便也比较好学习。
    谢谢大家了,问题解决了就节贴给分
    请问steelxu5(人间漫步)
    我删除是一列,为什么麻烦大了呢?
    怎么解决了呢?
    谢谢谢谢。
      

  6.   

    to
    ourlin(上下求索中) 
    谢谢了
    我知道那样可以修改显示, 可是我想知道为什么我的数据库中的表改了
    而delphi中的显示没有改
    在用sql server时是不会出现这个问题的啊。
    谢谢
      

  7.   

    你在数据库中修改后在DBGRID里没有显示是因为你的DBGRID没有进行刷新.佻刷新一次就好了.
      

  8.   

    重新连接过或许可以的,试试ADOQuery组件吧,比ADOTable好,支持SQL语言的,
      

  9.   

    1、我觉得是刷新的问题。当你修改数据库后,delphi其实还是读取的是缓存中的数据。只要将各个数据控制组件都刷新就好了。
    2、adoquery是很好用的,关键是要写好sql语句。
    3、adoquery实现的编辑,插入,修改等等操作都是通过sql语句来实现的。感觉和table比起来在速度方面还是有一定的优势。不能笼统的说谁好谁坏,关键是要和实际情况联系了。
    4、installShield,还有小颖安装程序等等好多都可以打包,下载几个学习下就好了。