使用 TDBGrid 在 Delphi 中设置 SQL 数据库 table(单向错误)

Set up SQL Database table in Delphi with TDBGrid (Unidirectional error)

如何设置整个 table 数据库以显示在我的 delphi 表单中?我假设使用 TDBGrid;但是当我配置数据源(连接到查询)时,我收到一条关于它是单向的错误消息。我听说过 Clientdataset,但这似乎不起作用。我可以就如何执行此操作提供一些明确的说明吗?提前谢谢你,托比。

你说你正在使用 TSQLQuery。这是设计为仅单向的 dbExpress 组件之一(TSimpleDataSet 除外)。您要么必须将 TSQLQuery 连接到 TDataSetProvider 和 TClientDataSet,要么将您的查询组件更改为将在本地缓冲数据的组件。

要使用 TDataSetProvider 和 TClientDataSet:

  • 将 TDataSetProvider 的 DataSet 属性 设置为 SQLQuery。
  • 将 TClientDataSet 的 ProviderName 属性 设置为 DataSetProvider。
  • 当 ClientDataset 打开时,它将包含来自 SQLQuery 的数据。

将您的 TDataSource 的 DataSet 属性 设置为 ClientDataset,以便数据可以显示在您的 DBGrid 中。

由于您似乎不熟悉通过 Delphi 使用数据库,我建议您使用不同的查询组件,因为使用 TDataSetProvider 和 TClientDataSet 可能会很复杂。我建议

  • dbExpress 中的 TSimpleDatSet,
  • dbGo 中的 TADOQUery 或 TADODataset,
  • BDE 中的 TQuery(不推荐),
  • FireDAC 中的 TFDQuery,或
  • 其他第三方查询组件。