Suche Anleitung für Datenbank

Für Themen zu Datenbanken und Zugriff auf diese. Auch für Datenbankkomponenten.
agreen
Beiträge: 13
Registriert: Di 9. Okt 2012, 22:48

Suche Anleitung für Datenbank

Beitrag von agreen »

Hallo nochmal,

ich habe leider keine Erfahrung in Datenbank programmieren in Lazarus, ich hab mir viele Anteilungen angeschaut aber mir fehlen simple Sachen wie:
Ich meine keine Anleitung (wie verbindet man eine Datenbank, ...) das funktioniert bei mir alles.

- Anzahl der Datensätze einer Tabelle auslesen
- per Doppelklick auf DBGrid ein neues Formular öffnen (z.b. zum Bearbeiten der Werte)
- ...

Hat jemand ein Beispiel für mich wie ich solche simple Sachen umsetze?
Wir hatten leider in der Schule nicht genug Zeit um so was durchzugehen aber müssen ein Projekt programmieren.

vielen Dank im Voraus

Antrepolit
Beiträge: 340
Registriert: Di 12. Sep 2006, 08:57
OS, Lazarus, FPC: Winux (L 0.9.xy FPC 2.2.z)
CPU-Target: xxBit
Kontaktdaten:

Re: Suche Anleitung für Datenbank

Beitrag von Antrepolit »

Ich habe die letzten Tage deine Fragen hier im Forum zwangsläufig verfolgt. Wie es aussieht, kennst du dich weder mit Pascal/Delphi/Lazarus noch mit Datenbanken aus. Dies sind beides zwei Themenbereiche, zu denen zurecht viele Bücher existieren.
Nimm's mir nicht übel, aber anbei eine Frage: Warum programmierst du überhaupt direkt mit Datenbanken, wenn da noch Kernkompetenzen in diesem Umfang fehlen?
Grüße, Antrepolit

care only if your os is really burning

Benutzeravatar
theo
Beiträge: 10865
Registriert: Mo 11. Sep 2006, 19:01

Re: Suche Anleitung für Datenbank

Beitrag von theo »

agreen hat geschrieben: Hat jemand ein Beispiel für mich wie ich solche simple Sachen umsetze?
Wir hatten leider in der Schule nicht genug Zeit um so was durchzugehen aber müssen ein Projekt programmieren.
Hast du dir schon die Beispiel angeschaut? Unter

<lazarusdir>/examples/address_book/
und
<lazarusdir>/examples/database/

agreen
Beiträge: 13
Registriert: Di 9. Okt 2012, 22:48

Re: Suche Anleitung für Datenbank

Beitrag von agreen »

@ Antrepolit: weil ich es muss, ist ein Projekt für die Schule.
Ich weiß, dass ich hier richtige Anfängerfragen stelle, aber ich bin einer.

Aber ich habe etwas Erfahrung in Programmieren, aber eher VB Scripte und ähnliches.

@theo: database kenne ich schon, aber Adress_book schaue ich gleich an, danke

Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 6766
Registriert: So 7. Jan 2007, 10:20
OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
CPU-Target: 32Bit (64Bit)
Wohnort: Burgenland
Kontaktdaten:

Re: Suche Anleitung für Datenbank

Beitrag von af0815 »

Schon mal Google nach Lazinfos/snippets http://sourceforge.net/projects/lazsnippets/ befragt ?
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).

agreen
Beiträge: 13
Registriert: Di 9. Okt 2012, 22:48

Re: Suche Anleitung für Datenbank

Beitrag von agreen »

kenne ich schon, hat mir zwar weiter gebracht aber auf Bezug Datenbanken werden hier "nur" die SQL Befehle näher erklärt.

hätte jemand ein Beispiel Programm für mich?

Live
Beiträge: 144
Registriert: So 22. Aug 2010, 16:06
OS, Lazarus, FPC: Backtrack 5 RC4 - 64bit Gnome
CPU-Target: 64bit
Wohnort: NRW
Kontaktdaten:

Re: Suche Anleitung für Datenbank

Beitrag von Live »

agreen hat geschrieben:kenne ich schon, hat mir zwar weiter gebracht aber auf Bezug Datenbanken werden hier "nur" die SQL Befehle näher erklärt.

hätte jemand ein Beispiel Programm für mich?
http://www.lazarus.freepascal.org/index ... ic=10172.0

http://wiki.freepascal.org/Lazarus_Database_Tutorial/de

Beides sogar inklusive Code. Verstehe nicht, wieso ihr in der Schule mit Datenbanken arbeitet, wenn ihr offensichtlich noch nicht mal die Basics kennt. Ist irgendwie traurig.

agreen
Beiträge: 13
Registriert: Di 9. Okt 2012, 22:48

Re: Suche Anleitung für Datenbank

Beitrag von agreen »

Danke, kenne ich ebenfalls schon. Hat mir weiter geholfen.

zu Zeit habe ich folgendes Problem:

ich verwende ein DBLookupComboBox um ein Wert auszulesen und möchte, dass der komplette Datensatz im Formular anzeigt wird, leider
funktioniert das nicht wie gewünscht, es wird nur der Wert, den ich in der DBLookupComboBox verwende aktualisiert.
Wie kann ich aus eine DBLookupComboBox ein Datensatz auswählen, damit er komplett im Formular angezeigt wird?

knight
Beiträge: 802
Registriert: Mi 13. Sep 2006, 22:30

Re: Suche Anleitung für Datenbank

Beitrag von knight »

1. Wie ermittelst du den richtigen Datensatz?
2. Wie kann dir DBLookupComboBox bei 1. helfen (gibt es evtl. auch andere Komponenten für diese Aufgabe)?
3. Wie läßt du den kompletten Datensatz anzeigen (unter Verwendung welcher Komponente(n) )?

Manchmal muß man ein Problem in Teilaufgaben unterteilen. Hast du eine Lösung für alle Teilaufgaben, dann hast du auch eine Lösung für das Gesamtproblem.

knight

agreen
Beiträge: 13
Registriert: Di 9. Okt 2012, 22:48

Re: Suche Anleitung für Datenbank

Beitrag von agreen »

Leider finde ich in jeder DB Anleitung nur, wie ich mich mit der Datenbank verbinde oder neue Tabellen anlege.

@knight: ich versuche ein Formular zu erstellen, wo ich ein Datensatz bearbeiten kann.
Den zur bearbeiteten Datensatz will ich mit Hilfe eines Listenfelds oder wie hier mit Hilfe eines DBLookupComboBox1 auswählen, dann sollen die
restlichen Daten aus der Relation (ein Datensatz) im Formular angezeigt werden. siehe screenshots
Dateianhänge
Bildschirmfoto 2012-12-23 um 13.45.56.png
Bildschirmfoto 2012-12-23 um 13.45.56.png (25.94 KiB) 3373 mal betrachtet
Bildschirmfoto 2012-12-23 um 13.45.36.png

knight
Beiträge: 802
Registriert: Mi 13. Sep 2006, 22:30

Re: Suche Anleitung für Datenbank

Beitrag von knight »

Was soll denn passieren, wenn ein anderer Eintrag ausgewählt wurde (woher weiß dein Programm, daß ein anderer Eintrag ausgewählt wurde)?

knight

agreen
Beiträge: 13
Registriert: Di 9. Okt 2012, 22:48

Re: Suche Anleitung für Datenbank

Beitrag von agreen »

Genau das ist mein Problem.
Das ist eine richtige anfängerfrage aber genau diese Syntax fehlt mir.
Ich würde in der createform und Combo...change die Daten Auslesen und im Formular anzeigen.

knight
Beiträge: 802
Registriert: Mi 13. Sep 2006, 22:30

Re: Suche Anleitung für Datenbank

Beitrag von knight »

Und was passiert, wenn du die Daten ausliest und anzeigst?

knight

agreen
Beiträge: 13
Registriert: Di 9. Okt 2012, 22:48

Re: Suche Anleitung für Datenbank

Beitrag von agreen »

Ich bekomme ein Fehler in der SQL Abfrage ...

Code: Alles auswählen

 
procedure TFGruppeBearbeiten.DBLookupComboBox1Change(Sender: TObject);
 
var TGruppe: string;
    Gindex: integer;
    gruppe, beschreibung: string;
begin
 
 gruppe:=DBLookupComboBox1.Items[DBLookupComboBox1.ItemIndex];
 
  SQLQueryAusgabe.Close;
  SQLQueryAusgabe.SQL.Clear;
  SQLQueryAusgabe.SQL.Text := 'SELECT * FROM TGruppe where Gruppe = '''+gruppe+'';
  SQLQueryAusgabe.Open; 
 LabelGruppenindex.caption := inttostr(SQLQueryAusgabe.FieldByName ('Gindex').AsInteger);      
end;                       
 
 
Dateianhänge
Bildschirmfoto 2012-12-24 um 13.10.49.png

knight
Beiträge: 802
Registriert: Mi 13. Sep 2006, 22:30

Re: Suche Anleitung für Datenbank

Beitrag von knight »

Hättest du gleich geschrieben, daß dein Problem in der Verarbeitung der SQL-Anweisung liegt, dann hätte man dir auch schneller helfen können. Ich vermute mal, daß der Fehler in der Anzahl der Anführungszeichen liegt. Um soetwas zu vermeiden sollten Parameter genutzt werden, z.B.

Code: Alles auswählen

SQLQueryAusgabe.SQL.Text := 'SELECT * FROM TGruppe where Gruppe = :Gruppe';
SQLQueryAusgabe.Params.ParamByName('Gruppe').AsInteger := DBLookupComboBox1.KeyValue;
knight

Antworten