【问题标题】:How to get each row from a TDBGrid in c++如何从 C++ 中的 TDBGrid 获取每一行
【发布时间】:2016-10-22 04:30:19
【问题描述】:

我正在使用 embarcadero c++ builder,我想复制包含在 DBGrid 中的查询结果,有没有办法从 DBGrid 中获取每一行?

【问题讨论】:

  • C++ 没有 TDBGrid。有可用于 C++Builder 的标签。请使用它们而不是通用 C++ 标记。

标签: c++builder tdbgrid


【解决方案1】:

这取决于您所说的“复制结果”以及您使用的数据库类型。 TDBGrid 通常用于直观地显示和编辑数据。这不是从数据库中获取信息并将其放入数据结构中的最有效方式。

因此,如果您想要(非视觉上)对 SQL 结果集的每一行执行一些操作,您可能应该使用TSQLQuery。该对象具有有用的方法和属性(即 First()、Next() 和 Eof),允许您遍历结果集。

【讨论】:

    【解决方案2】:

    您不会直接从TDBGrid 获得结果;您可以从连接到TDbGridTDataSource 上的TDataSet 获得它。 IOW,您直接从用于执行查询的TQuery/TADOQuery/TSQLQuery 中读取它。由于您没有提到您正在使用哪些 DBMS 和数据组件,因此不可能更具体。

    您可以通过单击网格并在 Object Inspector 的 Properties 页面中检查它的 DataSource 属性来找到在设计时(在 IDE 中)执行查询的组件,这将给你TDataSource 组件的名称。单击该数据源并检查它的 DataSet 属性将为您提供运行 SQL 语句的查询组件的名称。您可以从该组件中读取数据以检索执行语句返回的数据。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-10-15
      • 1970-01-01
      • 2022-01-09
      • 2012-07-24
      • 2019-10-18
      相关资源
      最近更新 更多