我有一个带有TFDConnection,TFDQuery,TDataSource和TDBGrid的delphi表单。我想显示我的查询获取的数据(从table_1中选择*)并将其放入我的DBGrid中。 我已经完成了组件之间的所有连接,但是在我的DBGrid中启动查询(返回12行)后,显示了12行,但它们都是空的。显然,我忘记了一些阻止我在DBGrid中查看数据的东西。你能帮助我在行动中失踪吗?
答案 0 :(得分:2)
你可以试试这个:
在您的表单的OnShow代码中明确激活TFDQuery
。像这样,
procedure TForm.FormShow(Sender: TObject);
begin
FDQuery.Active:= True;
end;
它对我有用,希望有所帮助。
答案 1 :(得分:1)
要解决此问题(我有同样的问题),请在打开查询后设置:
datasource.dataset := Query
问题将得到解决。
答案 2 :(得分:1)
如果DBGrid的DefaultDrawing
属性设置为{{},您将获得在DBGrid中看到正确行数的行为,但网格的单元格为空1}}。如果这是您的DBGrid的情况,显然只需将False
设置为DefaultDrawing
。
答案 3 :(得分:0)
我知道这个话题很老,但也许它可以帮助别人。就我而言,解决方案是:删除在设计时创建的所有DBGrid列,或者将列( TColumn ) FieldName 属性与EXACT相匹配在数据库表中命名的字段名称。
答案 4 :(得分:-1)
对于有此问题的其他人,这里是修复:确保网格控件中的列名(而不是标题)与查询中的字段名匹配。一旦匹配,他们应该表现得很好。