我想使用delphi读写数据库,就是把数据从数据库中读出来,再做下加减比较等处理,然后再写回数据库中或者写到Excel中制成表格,由于事情比较单一,所以想简单点,不想设置窗体form1、adoquery1等控件,只想象以前写pascal程序那样直接在一个程序中写完所有代码,请问该怎么做,如果有比较详细的完整例子更好?
我本来打开了调试功能想研究一下对象的属性和值,然后自己写,却发现delphi的调试器根本不象excel的vb一样可以直接看到对象以及对象的属性和值,也无法直接看到所有sql搜索出来的结果,只能一个记录一个字段地处理,只好跑来这里请高手们指点了。我是新手刚上路,分不多,先对热心帮助的说声谢谢了。

解决方案 »

  1.   

    那你何必用DELPHI呢 直接用VBA写不是更好?呵呵 
    DELPHI之所以门槛低 就是因为他把很多东西都封装好了 
    比如说你配置好连接字符串就可以直接操作数据库了 不用关心ADO的细节
    DELPHI不仅可以直接看到对象的属性和值 连源码都可以直接看 
    ADOQUERY OPEN以后返回的数据集就是SQL搜索的结果 你想一行行的处理 一个字段一个字段的处理 还是循环一下全处理
    都可以
    如果你想‘看’到的话用一个DBGRID
      

  2.   

    楼主觉得 Delphi 的编辑器不好用,是因为还不熟悉 Delphi 的编辑环境的缘故。
    我从 VB 转到 Delphi 的时候也是这么觉得的。试想一下一空白的vb程序只有 16KB 大小,而Delphi已经有361KB了,
    可想Delphi封装的类已经帮你做了多少事情!对于 Delphi 来说,纯Pascal 的开发速度是要远远大于使用现成的类的,
    如果熟悉使用 ADO 组件,说不定你用问问题这个时间已经把程序写出来了。
    建议楼主还是放弃使用纯 Pascal 的想法。如果楼主还是坚持,只能帮你顶一下了。
      

  3.   

    设置窗体,使用adoquery、dbgrid控件的方法我是学会了,之所以不想设置窗体form1、adoquery1等控件,主要是程序运行的时候老跳出一个窗体,而我只想让程序定时静静地在后台运行,别打扰我干别的事情(不用VBA写也是这个原因,用了VBA,就无法用EXCEL干别的事情了),二来也是想省点事。我不知道这种纯pascal的思路是否delphi不支持了?
    至于delphi中能直接看到对象的值,我还是不明白,比如看adoquery1的返回结果,我用watch窗口只能看到一堆入口地址之类的东西,改用evaluate/modify窗口看,只会使用adoquery1.fields[0].text逐个逐个看,而我希望看的结果是象EXCEL的VBA监控窗口一样,直接看到一个完整列表,adoquery1返回了多少记录,每个记录返回了多少个字段,每个字段的值是什么。我知道我问的问题比较弱智,不过确实是不明白,还希望高人们再详细指点下。谢了!
      

  4.   

    你可以把他最小化 或者去找个三方组件把他变成托盘 如果从运行就完全不显示 你怎么结束他?或者 写成服务?
    一般来说 DELPHI的应用程序需要一个 ’main form‘ 你的需求也不是不能实现 不过实在是出力不讨好至于结果集 你在窗体上 放一个ADOConnection 配置好数据库连接 放一个ADOQUERY设置Connection为刚这个ADOConnection 
    再放一个 DataSource设置DataSet为 ADOQUERY 再放一个 DBGRID设置DataSource 
    在 ADOQERY里写好 SQL语句 把ACTIVE设为TRUE 
    DBGRID里就可以看到返回的集了 不用写一句代码 
    记录数 你可以读ADOQUERY.RecordCount 字段数 ADOQUERY.Fields.Count呵呵 不如去找本基础的书看看 
      

  5.   

    可以做到。
    在Delphi,新建项目后,移除Main Form,直接在项目的主文件中动态创建TADOQuery。
      

  6.   

    appmaker 
     发表于:2008-02-11 21:22:595楼 得分:0 
    可以做到。 
    在Delphi,新建项目后,移除Main   Form,直接在项目的主文件中动态创建TADOQuery。 
     -----------------------------能有个简单的例子吗?我之所以想不明白,是因为如果使用了adoquery1控件,就需要使用窗体form1,因为adoquery1是在form1中定义的,而我是不想建立窗体,所以也就不知道怎么样建立与数据库的连接了。