我用dbgrid显示sqlserver里某个表里的数据。然后在dbgrid的 oncellclick事件里将表格里的当前行数据赋给一些edit框。但是当我数据超出64个时,每点击一下(65行以上)就会出现sqlserver错误提示"Invalid BLOB Handle in record buffer".
我在BDE里看了sqlserver的driver 的BLOB Size=32.BLOBS To CACHE=64.是不是这个原因呢?但是我改了之后还是不行。请各位大侠帮帮忙!!!!!

解决方案 »

  1.   

    procedure Tfrmcust.DBGrid1CellClick(Column: TColumn);
    begin
    ENAME.Clear;
    esname.Clear;
    EADDRESS.Clear;
    ECONTACT.Clear;
    EPHONE.Clear;
    efax.clear;
    Mneeds.Clear;
    MMEMO.Clear;
    if dbgrid1.DataSource.DataSet.active then 
    begin
    eNAME.Text:=dbgrid1.Fields[1].AsString;
    esname.Text:=dbgrid1.Fields[2].AsString;
    EADDRESS.Text:=dbgrid1.Fields[3].AsString;
    ECONTACT.Text:=dbgrid1.Fields[4].AsString;
    EPHONE.Text:=dbgrid1.Fields[5].AsString;
    efax.Text:=dbgrid1.Fields[6].AsString;
    Mneeds.Text:=dbgrid1.Fields[7].AsString;
    MMEMO.Text:=dbgrid1.Fields[8].AsString;
    end;
    end;
    我现是查询将数据显示在dbgrid里,然后通过点击某行数据,来将该行数据赋给其他edit.text。