AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Eingabe in Edit langsam nach suche in Netzwerk Datenbank
Thema durchsuchen
Ansicht
Themen-Optionen

Eingabe in Edit langsam nach suche in Netzwerk Datenbank

Ein Thema von GoTo0815 · begonnen am 8. Nov 2006 · letzter Beitrag vom 10. Nov 2006
 
GoTo0815

Registriert seit: 18. Mai 2004
148 Beiträge
 
Delphi XE2 Professional
 
#1

Eingabe in Edit langsam nach suche in Netzwerk Datenbank

  Alt 8. Nov 2006, 16:18
Datenbank: Paradox • Version: 7 • Zugriff über: Query
Hallo,

1. Ich habe auf einem Formular 14 Editfelder für verschiedene Suchkriterien.
1 Query
1 Datasource
1 DBGrid
2. In der Create von diesem Formular setze ich folgendes:
Delphi-Quellcode:
session.PrivateDir := Label23.Caption;
           session.NetFileDir := Memo6.Lines[0];
3. Im OnKeyPress Ereigniss dieser Editfelder steht folgendes:

Delphi-Quellcode:
procedure TForm1.Edit5KeyPress(Sender: TObject; var Key: Char);
var pruefEingabe: integer;
    s: string;
begin

    pruefEingabe:=ord(key);
    if (pruefEingabe=13) or (Sender = DBEdit20) then //Enter-Taste gedrückt??
    begin
      FindSQL(sender); // Hier wird der SQL String zusammengesetzt
     with Query_Suchen do
     begin
      active := false;
      sql.clear;
      sql.add(sqlmerker);
      ParamCheck := true;
      if Edit5.Text <>'then
      begin
        s := '%'+ Edit5.Text + '%';
        ParamByName ('retnr').AsString := s;
      end;
      if Edit6.Text <>'then
      begin
        s := '%'+Edit6.Text + '%';
        ParamByName ('lieferant').AsString := s;
      end;
      if Edit7.Text <>'then
      begin
        s := '%'+Edit7.Text + '%';
        ParamByName ('kunde').AsString := s;
      end;
      if Edit8.Text <>'then
      begin
        s := '%'+Edit8.Text + '%';
        ParamByName ('artikel').AsString := s;
      end;
      if Edit9.Text <>'then
      begin
        s := '%'+Edit9.Text + '%';
        ParamByName ('artikelnr').AsString := s;
      end;
      if Edit10.Text <>'then
      begin
        s := '%'+Edit10.Text + '%';
        ParamByName ('fehler').AsString := s;
      end;
      if Edit11.Text <>'then
      begin
        s := '%'+Edit11.Text + '%';
        ParamByName ('fehlernr').AsString := s;
      end;
      if Edit12.Text <>'then
      begin
        s := '%'+Edit12.Text + '%';
        ParamByName ('status').AsString := s;
      end;
      if Edit13.Text <>'then
      begin
        if (Edit13.Text = 'True') or (Edit13.Text = 'true') or (Edit13.Text = 'ja') or (Edit13.Text = 'Ja') then ParamByName ('getauscht').AsBoolean := True;
        if (Edit13.Text = 'False') or (Edit13.Text = 'false') or (Edit13.Text = 'nein') or (Edit13.Text = 'Nein') then ParamByName ('getauscht').AsBoolean := False;
      end;
      if Edit14.Text <>'then
      begin
        ParamByName ('datum').AsDate := StrToDate(Edit14.Text);
      end;
      if Edit15.Text <>'then
      begin
        ParamByName ('datum').AsDate := StrToDate(Edit15.Text);
      end;
      if Edit16.Text <>'then
      begin
        s := '%'+Edit16.Text + '%';
        ParamByName ('RMANr').AsString := s;
      end;
      if Edit17.Text <>'then
      begin
        s := '%'+Edit17.Text + '%';
        ParamByName ('seriennr').AsString := s;
      end;
      if Edit18.Text <>'then
      begin
        ParamByName ('datum').AsDate := StrToDate(Edit18.Text);
      end;
      active := true;
      open;
     end;
    end;
  end;

Nun mein Problem:

Diese Routine lief immer sauber ohne Probleme. Als ich die Anwendung nun auf Netzwerkbetrieb umstellte passierte es, dass die Suchfunktion nach Eingabe der Werte zwar immer noch einwandfrei und schnell läuft, allerdings nach Präsentation dere Suchergebnisse in der DBGrid, kann man erneute Eingaben in den Editfeldern nur noch extrem stark verzögert eingeben. (Also die Buchstaben kommen erst 1-2 Sekunden nach dem Drücken der Tasten). Wenn ich dann die Suchkriterien wieder alle lösche und die Datenbank erneut ohne Suchkriterien öffne, dann läuft alles wieder einwandfrei und man kann erneut suchen.

Ich vermute also, dass nach der Lieferung des Ergebnisses irgendetwas freigegeben werden muss, ich weiß aber nicht was.

Für Eure Hilfe bedanke ich mich im Voraus.

Gruß

Hendrik
Falls ich mal ein "DANKE" vergesse, hier schon mal eins im Voraus: Danke für Eure Zeit!
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:01 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz