var PubData:TPubData;//公共数据单元 begin PubData := TPubData.Create(nil); with PubData.adq do //adq是ADOQuery,用来检索数据 begin close; sql.Add('select contractid,contractname from contract'); open; ShowMessage(vartostr(fieldbyname('contractid').Value)); //有数据 end; Pubdata.ds.DataSet:= PubData.adq; dbgrid1.DataSource := Pubdata.ds;<-到这里,dbgrid里出现数据的栏位,不过无数据,如下图 谁能告诉我如何解决啊,先谢了!!!