2009-12-12 64 views
3

我需要让用户能够根据我们的数据库构建简单的SQL查询。我们的应用程序是用Delphi编写的。Delphi中的SQL查询构建器

我假设用户只有中等水平的知识,但他们需要能够建立一个简单的选择语句,以便能够查询几个表。如果我能为他们轻松一点,那将是最奇妙的。

有谁知道的工具或一组,我可以用它来帮助用户构建SQL SELECT语句组件的...

+0

了解数据库供应商会帮助我们。 – 2009-12-12 17:51:58

+0

不,数据库供应商不是问题 - 你总是可以使用ODBC来获取表,字段,SP等列表。 – 2009-12-12 18:01:15

+0

我同意尼尔......我认为这将是我的问题处理连接等。但是,为了记录,数据库是Advantage Database Server。 – 2009-12-12 18:02:57

回答

2

我使用的DevExpress ExpressFilter控制,以允许用户指定SQL约束地方之前。

0

我在Delphi中编写了几个类似的东西。通过查询元数据并使用列表和树视图进行显示,允许用户选择表和列名是很容易的。试图实现像连接这样的事情时遇到了困难。我从来没有为此提出过一个好的界面,根据我的经验,没有很多主要的数据工具参与者。

1

我已经使用了SimpleQuery很多年了,并且对它很满意。 (http://devtools.korzh.com/eq/vcl/)它并不完全直观,但是一旦掌握了它,就可以从数据库中向用户显示字段,并且可以将它们的任何系列与AND和OR组合起来,形成非常复杂的查询。你会得到一个单独的SQL窗口来保存结果代码。我使用PrintDat将结果数据集用于打印输出!或保存为用于显示的Woll2Woll Infopower网格中的CSV数据。我偶尔也允许使用XLSReadWrite导出XLS。这一切都非常自动。只要采用SimpleQuery示例并根据您的特定需求进行模拟即可。你应该能够在一天中拥有非常有用的东西。有一个试用版和一个示例免费查询生成器独立程序,可以让您了解最终外观。

1

尝试EMS Advanced Query Builder

是一个强大的组件套件 的Borland®Delphi®和C++Builder® 旨在用于可视化建筑物SQL语句 用于SELECT,INSERT, UPDATE和DELETE条款。它允许您 您可以在您自己的 应用程序中以可视方式构建新查询 和/或以图形方式表示 现有查询。该套件包括用于使用标准 SQL,MS SQL,InterBase/Firebird, MySQL,PostgreSQL和更多 方言的 组件。高级查询生成器 使用户能够在不知道SQL 语法的情况下组成大型且复杂的SQL查询,其中包括联合 和不同服务器的子查询 。

alt text http://sqlmanager.net/i/scr/tools/querybuilder/hs2130_Using%20navigation%20bar.gif

alt text http://sqlmanager.net/i/scr/tools/querybuilder/hs2170_Setting%20output%20fields.gif

+0

+1 - 我在Interbase/Firebird中使用过它,它工作得很好。这个界面并不是最直观的(尽管我可能会做一些修改),但它确实有效,大多数用户可以很快地将它们放在头上。 – robsoft 2009-12-13 16:04:40

1

我觉得最厉害的一个是ActiveQueryBuilder,现在包括德尔福IDE(自2007年以来,我认为)

alt text http://www.activequerybuilder.com/scr/screen4.gif

+0

穆罕默德在哪个版本的德尔福2007年,你如何把它?它是否适用于ADO(dbGo)组件? – Wodzu 2009-12-13 00:21:20

+0

Wodzu,AFAIK D2007 R2或更新版本3,它是数据浏览器的一部分,所以它只能在IDE中使用,不能在您的应用程序中使用它,http://blog.marcocantu.com/blog/handbook_note_16.html – 2009-12-13 08:04:36