procedure TForm1.FormCreate(Sender: TObject);
var
dataset1:tdataset;
begin
dataset1:=tdataset.Create(self);
with dataset1.FieldDefs do
begin
add('OrderNo',ftInteger);
add('prjName',ftString,200);
add('srcPrice',ftFloat);
dataset1.open;
DataSet1.append;
DataSet1.fieldbyname('OrderNo').asInteger:= 1;
DataSet1.fieldbyname('prjName').asString := 'jh';
DataSet1.fieldbyname('OrderNo').asFloat  := 5.000;
DataSet1.post;
end;
datasource1.DataSet:=dataset1;
dbgrid1.DataSource:=datasource1;
dataset1.free;
end;

解决方案 »

  1.   

    procedure TForm1.FormCreate(Sender: TObject); 
    var 
    dataset1:tdataset; 
    begin 
    dataset1:=tdataset.Create(self); 
    with dataset1.FieldDefs do 
    begin 
    add('OrderNo',ftInteger); 
    add('prjName',ftString,200); 
    add('srcPrice',ftFloat); 
    //加上这句
    DataSet1.CreateDataSet;
    dataset1.open; 
    DataSet1.append; 
    DataSet1.fieldbyname('OrderNo').asInteger:= 1; 
    DataSet1.fieldbyname('prjName').asString := 'jh'; 
    DataSet1.fieldbyname('OrderNo').asFloat  := 5.000; 
    DataSet1.post; 
    end; 
    datasource1.DataSet:=dataset1; 
    dbgrid1.DataSource:=datasource1; 
    dataset1.free; 
    end;
      

  2.   

    var
      dataset1:TClientDataSet;
    begin
      dataset1:=TClientDataSet.Create(self);
      with dataset1.FieldDefs do
      begin
        add('OrderNo',ftInteger);
        add('prjName',ftString,200);
        add('srcPrice',ftFloat);
        //加上这句
        DataSet1.CreateDataSet;
        dataset1.open;
        DataSet1.append;
        DataSet1.fieldbyname('OrderNo').asInteger:= 1;
        DataSet1.fieldbyname('prjName').asString := 'jh';
        DataSet1.fieldbyname('OrderNo').asFloat  := 5.000;
        DataSet1.post;
      end;
      ds1.DataSet:=dataset1;
      dbgrd1.DataSource:=ds1;
    //  dataset1.free;
    end;
      

  3.   

    楼上的朋友,加上了编译通过不了,你说的是不是这个CreateDataSet(DataSet1)?
    undeclared identifier:CreateDataSet;
    是不是缺少USES文件?
      

  4.   

    如果出现类似问题,我如何可以不通过网络知道缺少什么USES文件啊?
      

  5.   

    把TDataSet 换成TClientDataSet就可以了