AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken SQLConnect ist erforderlich!

SQLConnect ist erforderlich!

Ein Thema von EdAdvokat · begonnen am 7. Apr 2017 · letzter Beitrag vom 9. Apr 2017
Antwort Antwort
Seite 2 von 2     12
Benutzerbild von haentschman
haentschman

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
4.227 Beiträge
 
Delphi 10.1 Berlin Professional
 
#11

AW: SQLConnect ist erforderlich!

  Alt 9. Apr 2017, 07:05
Moin...
Zitat:
natürlich noch mehr bemühen, dies zu beherzigen.
...laß doch andere für dich arbeiten. Haufenweise Tools nehmen dir die Strafarbeit ab. Im CnPack gibt es Tools die nicht mehr missen möchte...andere braucht jemand anders. (siehe Bild)
1. Codevervollständigung (besser als die eingebaute)
2. SourceHighlight Erweiterung (die bunten Striche) Da sieht man sofort in welcher "Ebene" man ist.
3. Cleaner
4. CodeFormatter
...usw.
Zitat:
Ist der connect-Button mit der Methode überhaupt nötig, wenn doch ohnehin beim Aufruf des Programms die Verbindung zur Datenbank hergestellt wird.
...nein. Das Datenbank Connect passiert im "Hintergrund". Der User muß nicht darauf achten ob eine Verbindung besteht. Das Programm muß selbst prüfen ob eine Verbindung besteht und sie ggf. herstellen.
Zitat:
ist ebenso der execute-Button mit der Methode nötig, da ohnehin alles bereits läuft?
...nein/ja. Als Außenstehender kann man nicht wissen wie es funtionieren soll. "Execute" würde ich zu "Speichern" umbenennen... Mache dir mal einen Plan, auf Papier , was in welcher Situation an Buttons aktiv ist und welche "Aufgaben" erledigt werden sollen. Das Programm selbst, wie du es bereits gemacht hast , sollte seinen Zustand kennen.
Zitat:
Du schreibst, dass an gleicher Stelle das ein active Setzen nicht notwenig sei, das dies automatisch geschieht:
...ja. Automatisch heißt das du nicht darum kümmern mußt.
Delphi-Quellcode:
try
  qryMain.SQL.Text := 'SELECT * FROM WARENVERKAUF';
  // Im Open/ExecSQL wird die Query INTERN geschlossen und am Ende wieder INTERN auf Active := True gesetzt.
  qryMain.Open;
except
  on E: Exception do
    outputMemo.text := 'Fehlermeldungstext execute: ' + E.Message;
end;
Delphi-Quellcode:
procedure TMainFrm.FormCreate(Sender: TObject);
begin
  conMain.LibraryName := ExtractFilePath(Application.ExeName) + 'sqlite3.dll';
  conMain.Params.Add('DataBase=' + ExtractFilePath(Application.ExeName) + 'WarenVK.sqlite'); // !!! keine hardcodierte Pfade verwenden
  conMain.Connected := True;
  //qryMain.SQL.Clear; // nicht notwendig...passiert intern
  //qryMain.Params.Clear; // nicht notwendig...passiert intern
  qryMain.SQL.Text := 'SELECT ID,KDNR,NAME,VORNAME,FIRMA,PRODUKT,ANZAHL,PREIS FROM WARENVERKAUF'; // Ich bevorzuge bei SQL immer die Großschreibung. Da grenzt sich das SQL von normalen Texten ab...kannst halten wie es willst...aber dann konsequent!
  qryMain.Open;
  while not qryMain.Eof do
  begin
    RefreshItems(qryMain.FieldByName('ID').AsString,
                 qryMain.FieldByName('KDNR').AsString,
                 qryMain.FieldByName('NAME').AsString, // Feldname "NAME" kann in die Hose gehen...reserviertes Wort.
                 qryMain.FieldByName('VORNAME').AsString,
                 qryMain.FieldByName('FIRMA').AsString,
                 qryMain.FieldByName('PRODUKT').AsString,
                 qryMain.FieldByName('ANZAHL').Asstring,
                 qryMain.FieldByName('PREIS').Asstring);
    qryMain.Next;
  end;
  // qryMain.Close; // braucht nicht wirklich geschlossen zu werden. (Ausnahmen bestätigen die Regel (keine Anzeige der Daten)) Mit der nächsten "Ausführung" passiert eh ein Close.
  IsEdit := False;
end;
Nochmal der Hinweis auf das E-Book:
http://www.delphipraxis.net/1364168-post8.html
Miniaturansicht angehängter Grafiken
bild2.png  

Geändert von haentschman ( 9. Apr 2017 um 07:50 Uhr)
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 19:14 Uhr.
Powered by vBulletin® Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2019 by Daniel R. Wolf