DELPHI ADOQuery - 检测数据集是否将返回

发布于 2024-11-01 23:06:53 字数 216 浏览 1 评论 0原文

我正在努力寻找执行 SQL 查询的正确过程。

基本上,我有一个文本字段,用户可以在其中输入 SQL 代码,程序将执行它。 不幸的是,我不知道是否会返回数据集,所以我无法告诉使用哪个函数:ADOQuery.Open 或 ADOQuery.ExecSQL

但如果有返回结果,我需要进行一些计算。

有什么方法可以预测查询是否会返回某些结果或者是否仅更新...如何处理这种情况?

I'm struggling with correct procedure for executing SQL query.

Basically, I have text field where user can enter SQL code and program will execute it.
Unfortunately, I don't know if the dataset will be returned, so I cant tell which function to use: ADOQuery.Open or ADOQuery.ExecSQL

But I need to make some calculations if there is results returned.

Is there any way of predicting if query will return some result or if it is UPDATE only ... how to handle this situation ?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

我要还你自由 2024-11-08 23:06:53

忘记 TADOQuery、TADOTable、TADOStoredProc。它们是旨在轻松地从使用 BDE 的应用程序(使用其对应项)进行移植的组件。在您的情况下,您可以使用 TADOCommand,其 Execute() 方法将在需要时返回记录集,并且您可以通过 TADODataset 将 Execute() 返回值分配给其 RecordSet 属性来访问它。

Forget about TADOQuery, TADOTable, TADOStoredProc. They are components designed to ease porting from applications using the BDE that used their counterparts. In your situation you can use TADOCommand, its Execute() method will return a recorset when needed, and you can access it via a TADODataset assigning Execute() return value to its RecordSet property.

樱桃奶球 2024-11-08 23:06:53

如果没有完全解析和分析查询文本,您就无法确定。

但是您可以(并且在您的情况下应该)使用ADOQuery.Open每次,就像不返回命令、空结果集的情况一样将被返回 - 您可以通过 TADOQuery.Bof 和 TADOQuery.Eof 或更底层的属性 TADOQuery.Recordset 轻松检测到。

Without completely parsing and analysing the query text, you can not tell for sure.

But you can (and in your case should) use ADOQuery.Open everytime, as in the case of a not returning command, an empty resultset will be returned - which you can easily detect via TADOQuery.Bof and TADOQuery.Eof or a more low-level property TADOQuery.Recordset.

国粹 2024-11-08 23:06:53

最好的方法是在执行查询之前对其进行分析。
您将找到使用此开源软件的“如何使用”示例

The best way is to analyse the query before execute it.
You will found an exemple of 'how to' with this open source software

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文