procedure TForm1.FormCreate(Sender: TObject);
var
   Titem:TListItem;
begin
   with qry1 do
    begin
      qry1.Close;
      qry1.SQL.Clear;
      qry1.sql.Add('select * from Historys');
      qry1.Open;
      qry1.First;
      lv1.Items.Clear;
      while not eof do
      begin
        Titem:=lv1.Items.add;
        Titem.Caption:=FieldByName('ID').Value;
        Titem.SubItems.Add(FieldByName('Receiver').Value);
        Titem.SubItems.Add(FieldByName('DateTime').Value);
        Next;
      end;
    redt1.Lines.Clear;
  end;end;
procedure TForm1.lv1Click(Sender: TObject);
begin
  if lv1.Selected <> nil then
    begin
      with qry1 do
        begin
          qry1.Close;
          qry1.SQL.Clear;
          qry1.SQL.Add('select * from Historys where ID='+Quotedstr(lv1.Selected.Caption));
          qry1.Open;
        end;
        edt1.Text:=lv1.Selected.Subitems[0];
        edt2.Text:=lv1.Selected.SubItems[1];
    end;
    redt1.Lines.Text :=qry1.Fieldbyname('Content').AsString;
end;上面代码是一个ListView读取Access表里的内容(表有4项:ID(主键),Receiver,DateTime,Content)``ListView只读前面3项内容```然后根据选择ListView中每一行的数据``将选取数据的第1和第2列分别显示在2个Edit里面```并将对应数据的Content内容显示在一个RichEdit里面```  上面程序运行时提示‘标准表达式中数据类型不匹配’  麻烦知道的帮忙分析下原因