我正在同时教自己关于Delphi的数据库架构和[MS-Access] SQL.我理解如何将表和DBGrids连接在一起,享受网格中的更改如何自动编辑,插入,追加,更新,发布等等到基础表. 我也理解如何打开或执行
我也理解如何打开或执行[ADO]查询并在网格中查看结果数据.
通过编辑显示查询结果的DBGrid来更改Tables,我更加模糊.在我的在线搜索中,似乎我发现编辑查询结果的所有示例都涉及的查询不比“SELECT … FROM oneTable”复杂.看起来DBGrids只适用于单个表或显示查询结果.
就我自己而言,当我尝试处理涉及两个或更多表的查询结果时,我总会得到某种错误(键列信息不足,缺少参数或其他消息).我觉得我缺少一些基本的东西,或者DBGrids很少用于编辑除个别表之外的任何东西.你有什么建议我可以去了解我缺少的东西吗?最常建议的链接(如delphi.about.com上的db课程)不能解决问题.
编辑:Remou的回答帮助我解释了我一直遇到的问题.因此,我将稍微通过概括超出MS-Access数据库来编辑我的问题.可以通过其他流行数据库中的DBGrids更新复杂查询吗?
我不能回答Delphi,但在MS Access中,查询需要正确构建并包含键列,如果您希望它们可更新的话.这对于大多数数据库来说都是常见的,我怀疑这个问题比Dephi本身更容易引起问题.更多信息:
> When can I update data from a query?
> Why is my query read-only?