Хобрук: Ваш путь к мастерству в программировании

Как автоматически заполнить поле editlabel определенной строкой базы данных delphi

Привет, у меня проблема, мне нужно автоматически заполнить информацию из базы данных, но если я сделаю это так:

       leemail.text             := dm.atInlog['email'];
       lenaam.text              := dm.atInlog['naam'];
       leAdres.text             := dm.atInlog['adres'];
       lePostcode.text          := dm.atInlog['postcode'];
       leTelefoonnummer.text    := dm.atInlog['telefoon'];
       leWoonplaats.Text        := dm.atInlog['Woonplaats']

Он просто занимает первую строку. Мне нужна конкретная строка. Я могу заставить его работать с помощью такой кнопки:

procedure TfmKlant.BTGegevensClick(Sender: TObject);
begin
//vraag gegevens van gebruiker op
    dm.atInlog.Open;
    while (not gevonden) and (not dm.atInlog.eof) do
    begin
        if dm.atInlog['email'] = fminloggen.inlognaam
      then
      begin
//     plaats gegevens in de textboxen
       gevonden := true;
       leemail.text             := dm.atInlog['email'];
       lenaam.text              := dm.atInlog['naam'];
       leAdres.text             := dm.atInlog['adres'];
       lePostcode.text          := dm.atInlog['postcode'];
       leTelefoonnummer.text    := dm.atInlog['telefoon'];
       leWoonplaats.Text        := dm.atInlog['Woonplaats']
      end
        else dm.atInlog.Next;
end;

Но Он не делает этого в форме создания. Как я могу автоматически заполнить labeledit запрошенными данными?

заранее спасибо

04.04.2011

Ответы:


1

Вы можете использовать TDataSet.Locate или Lookup:

type
  TfmKlant = class(TForm)
  // ... other declarations
  private
    procedure ShowData(p_Email: string);
  end;


...
    procedure TfmKlant.FormCreate(Sender: TObject);
    begin
      // assuming the data set is already open, and fminloggen.inlognaaem is already set
      if dm.atInLog.Locate('email', fminloggen.inlognaam, []) then
      begin
       ShowData(fminloggen.inloognam);
      end;
    end;

    procedure TfmKlant.ShowData(p_Email: string);
    begin
           gevonden := true;
           leemail.text             := dm.atInlog['email'];
           lenaam.text              := dm.atInlog['naam'];
           leAdres.text             := dm.atInlog['adres'];
           lePostcode.text          := dm.atInlog['postcode'];
           leTelefoonnummer.text    := dm.atInlog['telefoon'];
           leWoonplaats.Text        := dm.atInlog['Woonplaats']
    end;
04.04.2011
  • Вы добавили ShowData в раздел интерфейса TfmKlant? 04.04.2011
  • TfmKlant = class(TForm) // другие объявления ... частная процедура ShowData(p_Email: string); конец; 04.04.2011
  • Я добавил раздел интерфейса в ответ - теперь должно быть понятнее. 04.04.2011
  • Ах вот как, я понял, но он все еще не показывает информацию :( 04.04.2011
  • Новые материалы

    Код, который работает вместе, остается вместе
    Первоначально это было опубликовано в tiagojdf . Когда я только начинал как младший программист, я всегда терялся, глядя на внутренний код. Я предположил, что отчасти это было из-за того,..

    Эта модель Google сочетает в себе рассуждение и действие в рамках одной языковой модели.
    ReAct предоставляет архитектуру, которая инициирует действия на основе путей рассуждений языка. Недавно я запустил образовательный информационный бюллетень, посвященный ИИ, у которого уже..

    Сортировка структур JSON по нескольким полям в JavaScript
    Array.sort() не для слабонервных. Особенно, когда речь идет о сортировке сложных структур данных. Большинство руководств по JavaScript дают только краткое введение в Array.sort() . Обычно..

    Иллюзии разработки программного обеспечения
    Многие вещи не то, чем кажутся Реальность — это всего лишь иллюзия, хотя и очень настойчивая. Альберт Эйнштейн Разработка программного обеспечения никогда не бывает такой, какой кажется...

    Решил попробовать свои силы в кодировании.
    Решил попробовать свои силы в кодировании. Несмотря на то, что я по профессии программист, в больших компаниях вы не можете выбирать, что вы можете программировать; даже среда очень ограничена,..

    Расчет схождения-расхождения скользящих средних (MACD) с помощью JavaScript
    Чтобы рассчитать схождение-расхождение скользящих средних (MACD) с помощью JavaScript, вы можете использовать следующую формулу: MACD = 12-day EMA - 26-day EMA где экспоненциальная..

    Удивительное определение удивления, разговор
    Вы бросаете кубик, и выпадает 1. Удивительно? Вряд ли, с моей удачей. Но даже в целом, я думаю, не так уж много — он должен был приземлиться на что-то , верно? Что, если бы я сказал..