paradox memo 用update 每次只能一条。指定关键字段,一条一条的更新就行了。不要恼怒

解决方案 »

  1.   

    我以前用过,似乎DbGrid中不可以显示Memo字段吧?
    是不是将Memo字段拿出来?
      

  2.   

    谢谢大家的关心。我知道DBgrid不能显示Memo字段的内容,我用以下代码已经解决了:
    procedure TDataModule2.Query1MEMOGetText(Sender: TField; var Text: String;
      DisplayText: Boolean);
    begin
    Text:=Query1.FieldByName('memo').AsString;
    end;
    我的程序是这样设计的,用的是Foxpro数据库。在query查询完后,双击DBgrid中需要改动的记录,就会弹出修改窗口,窗口中我用DBMemo控件指向query的Memo字段,显示正常。我用的ApplyUpdates方法修改,其他字段修改后都没有问题,就是Memo字段修改后一旦退出query就会丢失。源代码如下:
    数据模块窗口中:
    procedure TDataModule2.Query1UpdateRecord(DataSet: TDataSet;
      UpdateKind: TUpdateKind; var UpdateAction: TUpdateAction);
    begin
      Query1.UpdateObject:=UpdateSQL1;
      with UpdateSQL1 do
        begin
          SetParams(UpdateKind);
          ExecSQL(UpdateKind);
        end;
      UpdateAction :=uaApplied;
    end;
    修改窗口中:
    with DataModule2.Query1 do
        begin
          ApplyUpdates;
          commitupdates;
        end;
    DBMemo的属性:
    object DBMemo1: TDBMemo
        Left = 376
        Top = 256
        Width = 193
        Height = 73
        DataField = 'MEMO'
        DataSource = DataModule2.DataSource2
        Font.Charset = GB2312_CHARSET
        Font.Color = clWindowText
        Font.Height = -14
        Font.Name = '宋体'
        Font.Style = [fsBold]
        ParentFont = False
        TabOrder = 11
        OnKeyPress = DBEdit1KeyPress
      end
    希望大家多多帮忙,这里的分送完了,我还有两个窗口可以送分。