要求: ADO组件,Access数据库。 ---- 假设:有三个表: forum, thread, post 以论坛的数据库来举例说明,并非实际情况。 ---- 表内容: forum: SQL code
+-----------------------+
|  fid  | start | stop  |
+-----------------------+forum: 
+-----------------------+
|  tid  |  fid  | time  |
+-----------------------+
post: 
+-------------------------------+
|  pid  |  fid  |  tid  | types |
+-------------------------------+types是字符串,表示post的类型,可能含有多种,用';'分开,在插入数据后用表达式算出再更新数据。 
显示的时候这个有点麻烦,不知道有没有什么好办法。 
不过这个不是重点,麻烦点也没关系。 
关键是我不知道应该用哪几个组件,分别用在什么地方。 ---- 数据录入: 1、程序开始运行,向forum表插入一条记录,写入开始时间,得到自动递增的fid 
2、收到数据X,向thread表插入一条记录,写入当前的fid,得到自动递增的tid 
3、X中的数据细分为N条,插入post中,写入当前的fid,tid,得到自动递增的pid 
4、程序停止运行,更新forum表当前记录的结束时间 ---- 数据读取: 1、插入数据后立即显示相关内容 
2、可查看以前的记录 
3、显示fid对应的thread_count, count(*) as thread_count where forum.fid=thread.fid 
4、显示fid对应的thread_first, min(tid) as thread_first where forum.fid=thread.fid (我是用Delphi编程的)

解决方案 »

  1.   

    你是表设计问题还是DELPHI程序问题?从
    关键是我不知道应该用哪几个组件,分别用在什么地方。这个来看,你是DELPHI问题?
      

  2.   

    算是Delphi问题,我在那边也提问了,放200分,这里我最多100。
      

  3.   

    数据库版块主要讨论表的结构、SQL语句之类的,DELPHI版块主要是DELPHI有关的程序、控件方面的,你的问题是哪类的?
      

  4.   

    1、用ADO连接MDB,可以用ADOTABLE、ADOQUERY,连接字串知道吧;
    2、显示数据可以用GRID,设置DATASOURCE;
    3、执行SQL语句用ADOQUERY。
      

  5.   

    具体是什么问题,可以贴出来看看,不过,在DELHPI版应该好一些,因为你主要是程序设计、控件方面的问题
      

  6.   

    两边都帖了我想用一个 ADOConnection, 一个 ADOCommand 更新数据,三个 ADOQuery 指向三个表,三个 DataSource有人说只用一个 ADOQuery 就行了,视图?我不太懂
      

  7.   

    ADOQUERY可以重复设置其连接字串及执行的SQL语句,当然前提是关闭ADOQuery。
    如果只是更新数据,确实一个ADOQuery就OK了,
    如果你要在GRID中显示三个表的记录,就要三个 ADOQuery了。
      

  8.   

    如果用 ADOQuery 的 SQL 查询得到数据的话,用 ADOCommand 插入新的数据后不会自动更新显示的数据。有人说要关闭再打开,一是这样不会使速度变慢吗?二是关闭再打开指向的是第一条数据吧?这时显示了一次(显示包括图像还要画线条),然后再调用Last,才显示最后一条。
      

  9.   


    是这样,更新后要用ADOQuery重新加载数据,加载数据时,要先关闭,再执行SQL语句,对速度是有一定影响,取决于数据量的多少。打开时是指向的第一条数据(所有的数据库都是如此),你要显示最后一条,要adoquery1.last
      

  10.   

    你要将指针指向最后一条,要adoquery1.last
      

  11.   

    那么用ADOTable是不是不用关闭再打开?或者不用 ADOCommand 直接用 ADOQuery 或者 ADOTable
      

  12.   

    WWWWA WWWWB都带着不少三色花!晕,啥关系?