微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

我将如何在 Delphi 中通过单击按钮从 MS Access 表字段填充 TDBEdit

如何解决我将如何在 Delphi 中通过单击按钮从 MS Access 表字段填充 TDBEdit

我尝试了两种方法

首先,我尝试仅使用 ADOTable1.Fieldbyname 来填充 ms access db 中 First_Class 字段的 tedit,但没有显示任何内容

procedure TForm5.btnzaprosClick(Sender: TObject);
var
  vremia: string;
  sysTime: tdatetime;
begin
  dbeTime.text:=vremia;
  dbeClass1.Text:=ADOTable1.FieldByName('First_Class').Asstring;
end;

我也试过通过这个复杂的代码来做到这一点

procedure TForm1.btnzaprosClick(Sender: TObject);
// Процедура определения количества билетов по выбранному рейсу
var
  vremia: string;
  sysTime: tdatetime;
begin
  if edDate.Text = datamodule2.ADOTable1DSDesigner.Text then
  begin
    { showmessage ('Нашел дату'); }
    datamodule2.ADOTable1.First;
    while datamodule2.ADOTable1.Eof <> true do
    begin
      if cmbNumber.Text = datamodule2.ADOTable1_.Text then
      begin
        { showmessage ('Нашел рейс'); }
      vremia:
        = datamodule2.ADOTable1_2.Text;
        delete(vremia,1,11);
      sysTime:
        = time;
        { showmessage (timetostr (sysTime)); }
        if sysTime < strtotime(vremia) then
        begin
          dbeTime.Text: = vremia;
          dbeClass1.Text: = datamodule2.ADOTable1_3.Text;
          dbeClass2.Text: = datamodule2.ADOTable1_4.Text;
          exit;
        end
        else
          showmessage('Данный рейс уже улетел в ' + vremia);
        dbeTime.Text: = '';
        dbeClass1.Text: = '';
        dbeClass2.Text: = '';
        exit;
      end
      else
        datamodule2.ADOTable1.Next;
    end;
  end
  else if edDate.Text = datamodule2.ADOTable2DSDesigner.Text then
  begin
    datamodule2.ADOTable2.First;
    while datamodule2.ADOTable2.Eof <> true do
    begin
      if cmbNumber.Text = datamodule2.ADOTable2_.Text then
      begin
      vremia:
        = datamodule2.ADOTable2_2.Text;
        delete(vremia,11);
        dbeTime.Text: = vremia;
        dbeClass1.Text: = datamodule2.ADOTable2_3.Text;
        dbeClass2.Text: = datamodule2.ADOTable2_4.Text;
        exit;
      end
      else
        datamodule2.ADOTable2.Next;
    end;
  end
  else if edDate.Text = datamodule2.ADOTable3DSDesigner.Text then
  begin
    datamodule2.ADOTable3.First;
    while datamodule2.ADOTable3.Eof <> true do
    begin
      if cmbNumber.Text = datamodule2.ADOTable3_.Text then
      begin
      vremia:
        = datamodule2.ADOTable3_2.Text;
        delete(vremia,11);
        dbeTime.Text: = vremia;
        dbeClass1.Text: = datamodule2.ADOTable3_3.Text;
        dbeClass2.Text: = datamodule2.ADOTable3_4.Text;
        exit;
      end
      else
        datamodule2.ADOTable3.Next;
    end;
  end
  else
  begin
    showmessage('Билетов на данный рейс нет');
    dbeTime.Text: = '';
    dbeClass1.Text: = '';
    dbeClass2.Text: = '';
  end;
end;

但这会立即引发大量错误,所以我选择不使用它

那么我将如何在单击按钮时填充 tdbedit?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。