ADOQuery2.Close;
ADOQuery2.SQL.Add('select NJCLYYNAME from Xt_njclyywh');
ADOQuery2.Open; i := 4;
while not ADOQuery2.Eof do
begin
ClientDataSet1.Close;
e_Field := TStringField.Create(ClientDataSet1);
e_Field.FieldName := 'b' + IntToStr(i);
e_Field.FieldKind := fklookup;
e_Field.Size := 100;
e_Field.LookupDataSet := ClientDataSet1;
e_Field.Name := 'ClientDataSet1b' + IntToStr(i);
e_Field.KeyFields := 'ClientDataSet1b' + IntToStr(i);
e_Field.Calculated := true; e_Field.DataSet := ClientDataSet1; ClientDataSet1.FieldDefs.Add('B' + IntToStr(i),ftString,60);
ClientDataSet1.FieldDefs.Update;
ClientDataSet1.Fields.Add(e_Field);
ClientDataSet1.Close;
ClientDataSet1.CreateDataSet;
DBGridEh1.Columns.Add;
DBGridEh1.Columns[i].FieldName := 'b' + IntToStr(i);
DBGridEh1.Columns[i].Title.Caption := '处理原因' + IntToStr(i-3);
DBGridEh1.Columns[i].Width := 100;
DBGridEh1.Columns[i].Title.Alignment := taCenter;
i := i + 1;
ADOQuery2.Next;
end;
然后我在用ClientDataSet1.Fields[i].AsString := 'abc';
得到的值是空,为什么?
ADOQuery2.SQL.Add('select NJCLYYNAME from Xt_njclyywh');
ADOQuery2.Open; i := 4;
while not ADOQuery2.Eof do
begin
ClientDataSet1.Close;
e_Field := TStringField.Create(ClientDataSet1);
e_Field.FieldName := 'b' + IntToStr(i);
e_Field.FieldKind := fklookup;
e_Field.Size := 100;
e_Field.LookupDataSet := ClientDataSet1;
e_Field.Name := 'ClientDataSet1b' + IntToStr(i);
e_Field.KeyFields := 'ClientDataSet1b' + IntToStr(i);
e_Field.Calculated := true; e_Field.DataSet := ClientDataSet1; ClientDataSet1.FieldDefs.Add('B' + IntToStr(i),ftString,60);
ClientDataSet1.FieldDefs.Update;
ClientDataSet1.Fields.Add(e_Field);
ClientDataSet1.Close;
ClientDataSet1.CreateDataSet;
DBGridEh1.Columns.Add;
DBGridEh1.Columns[i].FieldName := 'b' + IntToStr(i);
DBGridEh1.Columns[i].Title.Caption := '处理原因' + IntToStr(i-3);
DBGridEh1.Columns[i].Width := 100;
DBGridEh1.Columns[i].Title.Alignment := taCenter;
i := i + 1;
ADOQuery2.Next;
end;
然后我在用ClientDataSet1.Fields[i].AsString := 'abc';
得到的值是空,为什么?
得到的值也是空,为什么?
ClientDataSet1.edit;
ClientDataSet1.Append;
ClientDataSet1.FieldByName( "b4 ").AsString := "abc ";
ClientDataSet1.Post;
这句话不要
ClientDataSet1.Append;
怎么Edit后又appen了
把"B "改成"b "试试