DBGird的问题(50分)

  • 主题发起人 主题发起人 Zhejiang_Knight
  • 开始时间 开始时间
Z

Zhejiang_Knight

Unregistered / Unconfirmed
GUEST, unregistred user!
用DBGrid和DateSource,Query挂钩,Query的SQL在程序中ADD,Query的Active=True.

问为什么DBGrid没有数据显示
 
我也碰到了这个问题,我是这样做的:动态给GRID的COLUMNS的各个FIELDNAME连上QUERY
的FIELDNAME连上。dbnavigator1.DataSource:=DataSource1;
DBgrideh1.DataSource:=DataSource1;
with DBgrideh1.DataSource.DataSet do
begin
with TDBgrideh(ActiveControl) do
begin
DisableControls;


if table1.Active then
begin
i:=0;
with DBgrideh1 do
begin
for i:=0 to table1.FieldCount-1 do
begin
columns.FieldName:=table1.Fields.FieldName;

end;
end;
end;
EnableControls;
以上是我的源码。你试试。
 
程序中使用Query.Sql要注意以下几点:
1.sql.clear;
2.sql.open 或者 sql.execsql;
//.Open 只限于无返回结果的sql命令,如select
//.Execsql 通用于执行,如insert,update,create,delete等等
3.Query.Active最好不要使用,遵循默认值为False即可
 
to sanoul:
我也知道active和open的效果一样.你说的我全注意了,可没有就是没有

to norose:
那样啊.......岂不是晕菜?如果库很大呢?经常要更新呢?
 
没有记录,就什么数据显示,只有字段显示
 
我有记录的除去norose说的,别无它法了吗?
 
你的语句返回的记录就是空的吧!!

不行,用Open 试试。
 
先用query.close,最后用query.open.
这样应该行的
 
不满意答案!!!!!!!!!!!!
 
后退
顶部