Delphi 查看表中ClientDataSet中包含的数据
我需要你的帮助。我有一个ClientDataSet和一个TDBGrid表。这是我第一次做桌子。什么?我还没找到查看数据的地方Delphi 查看表中ClientDataSet中包含的数据,delphi,Delphi,我需要你的帮助。我有一个ClientDataSet和一个TDBGrid表。这是我第一次做桌子。什么?我还没找到查看数据的地方 Procedure TForm1.AddLanguageGrid(); var lWord: Tword; lColumn: TColumn begin self.ClientDataSet1 := TClientDataSet.Create(self); self.ClientDataSet1.FieldDefs.Add('Brand_trous
Procedure TForm1.AddLanguageGrid();
var lWord: Tword;
lColumn: TColumn
begin
self.ClientDataSet1 := TClientDataSet.Create(self);
self.ClientDataSet1.FieldDefs.Add('Brand_trousers', ftstring, 100);
self.ClientDataSet1.FieldDefs.Add('Color', ftstring, 100);
self.ClientDataSet1.CreateDataSet;
self.ClientDataSet1.IndexFieldNames := 'id';
self.ClientDataSet1.DisableControls;
self.DataSource1.DataSet := self.ClientDataSet1;
self.DBGrid1.DataSource := self.DataSource1;
self.DBGrid1.Columns.Clear;
lColumn := TColumn.Create(self.DBGrid1.Columns);
lColumn.Width := 40;
lColumn.Title.Caption := 'Brand trousers';
lColumn.FieldName := 'Brand_trousers';
lColumn := TColumn.Create(self.DBGrid1.Columns);
lColumn.Width := 150;
lColumn.Title.Caption := 'Color';
lColumn.FieldName := 'Color';
self.ClientDataSet1.Append;
self.ClientDataSet1.EnableControls;
end.
以下对我来说很好:
procedure TForm1.AddLanguage;
var
//lWord: TWord; TWord is not a standard type!!!
lColumn: TColumn; // semicolon missing
begin
ClientDataSet1 := TClientDataSet.Create(self);
// You need an ID Field if you want to set IndexFieldNames to it !!!
ClientDataSet1.FieldDefs.Add('ID', ftInteger);
ClientDataSet1.FieldDefs.Add('Brand_trousers', ftstring, 100);
ClientDataSet1.FieldDefs.Add('Color', ftstring, 100);
ClientDataSet1.CreateDataSet;
ClientDataSet1.IndexFieldNames := 'ID';
//ClientDataSet1.DisableControls; <- Pointless !!!
DataSource1.DataSet := ClientDataSet1;
DBGrid1.DataSource := DataSource1;
DBGrid1.Columns.Clear;
lColumn := TColumn.Create(DBGrid1.Columns);
lColumn.Width := 40;
lColumn.Title.Caption := 'ID';
lColumn.FieldName := 'ID';
lColumn := TColumn.Create(DBGrid1.Columns);
lColumn.Width := 40;
lColumn.Title.Caption := 'Brand trousers';
lColumn.FieldName := 'Brand_trousers';
lColumn := TColumn.Create(DBGrid1.Columns);
lColumn.Width := 150;
lColumn.Title.Caption := 'Color';
lColumn.FieldName := 'Color';
//ClientDataSet1.Append; <- Pointless when you can add a row and set its
// Field values in a single InsertRecord call !!!
// Also, Append leaves all the record's field values set to NULL until
// you assign other values which is probably why you could see nothing
// in the grid
ClientDataSet1.InsertRecord([1, 'Some brand', 'Brown']);
//ClientDataSet1.EnableControls; <- Pointless
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
AddLanguage;
end;
过程TForm1.AddLanguage;
变量
//lWord:TWord;TWord不是标准类型!!!
lColumn:t列;//缺少分号
开始
ClientDataSet1:=TClientDataSet.Create(self);
//如果你想设置IndexFieldNames,你需要一个ID字段!!!
ClientDataSet1.FieldDefs.Add('ID',ftInteger);
ClientDataSet1.FieldDefs.Add('Brand_裤子',ftstring,100);
ClientDataSet1.FieldDefs.Add('Color',ftstring,100);
ClientDataSet1.CreateDataSet;
ClientDataSet1.IndexFieldName:=“ID”;
//ClientDataSet1.DisableControls;你什么时候才能知道你不需要这些self
s?你的问题是什么?什么,除了你忘了在CD上添加任何非空数据,所以没有什么可显示的之外?下层选民愿意解释一下吗?对不起,我不再在这上面浪费时间了。为什么你不能修改我给你的答案而不是发布你的“答案”?