我已经取得了三个变量的值,DBGrid有三个字段,分别是‘编号’,‘类型’,‘时间’
变量值分别是‘0001’,‘AAA','1979-10-30’
如果现在我想在DBGrid中新添加一行并将这三个值分别赋予三个字段,请问我该如何操作??谢谢。

解决方案 »

  1.   

    用sql语句添加一条记录
    insert into tablename (‘编号’,‘类型’,‘时间’) values(‘0001’,‘AAA','1979-10-30’)
      

  2.   

    我的DBGrid没有和数据库连,只是单纯的想手工将这一行加入。
    是不是如果不和数据库连的话用别的类型更好??
      

  3.   

    with  dbgrid do
      begin
       open;
    append;
    fieldByname('字段名称').value:=‘0001’;
    .....
    post;
    end;或者用SQL 的insert into 语句来实现
      

  4.   

    我的DBGrid没有和数据库连,只是单纯的想手工将这一行加入。
    是不是如果不和数据库连的话用别的类型更好??
      

  5.   

    使用TClientDataSet创建一个临时数据集
        DSetMain.Close;
        DSetMain.FieldDefs.Clear;
        DSetMain.FieldDefs.Add(‘编号’,ftString,255,false);
        DSetMain.FieldDefs.Add(‘类型’,ftString,255,false);
        DSetMain.FieldDefs.Add(‘时间’,ftString,255,false);
        DSetMain.CreateDataSet;
        DSetMain.Append;
        DSetMain.Fields[0].Vaule:= ‘0001';
        DSetMain.Fields[0].Vaule:= ‘AAA';
        DSetMain.Fields[0].Vaule:= '1979-10-30’;
      

  6.   

    使用TClientDataSet创建一个临时数据集
        DSetMain.Close;
        DSetMain.FieldDefs.Clear;
        DSetMain.FieldDefs.Add(‘编号’,ftString,255,false);
        DSetMain.FieldDefs.Add(‘类型’,ftString,255,false);
        DSetMain.FieldDefs.Add(‘时间’,ftString,255,false);
        DSetMain.CreateDataSet;
        DSetMain.Append;
        DSetMain.Fields[0].Vaule:= ‘0001';
        DSetMain.Fields[1].Vaule:= ‘AAA';
        DSetMain.Fields[2].Vaule:= '1979-10-30’;
      

  7.   

    以TQuery为例
    在Query中的BeforeInSert里写上
    编号 := TQuery.FieldByName('编号').AsString;
    类型 := TQuery.FieldByName('类型').AsString;  
    时间 := TQuery.FieldByName('时间').AsString;然后在AfterInSert里写上
    TQuery['编号'] := 编号;
    TQuery['类型'] := 类型;
    TQuery['时间'] := 时间;