Delphi-PRAXiS
Seite 4 von 5   « Erste     234 5      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Sql insert into (https://www.delphipraxis.net/203708-sql-insert-into.html)

Never01 27. Mär 2020 17:04

AW: Sql insert into
 
Zitat:

Zitat von jobo (Beitrag 1460650)
Das Bild ist nett, aber was ist das Problem?

Das ich nicht weiß, wie ich die Updatezeile richtig schreiben muss

Delphi.Narium 27. Mär 2020 17:44

AW: Sql insert into
 
Zitat:

Zitat von Never01 (Beitrag 1460654)
Zitat:

Zitat von jobo (Beitrag 1460650)
Das Bild ist nett, aber was ist das Problem?

Das ich nicht weiß, wie ich die Updatezeile richtig schreiben muss

SQL-Code:
update Spiel
set Punktestand1 = :r1,
    Punktestand2 = :r2,
    Punktestand3 = :r3,
    Sieger_NN   = :snn
where Spieler1nn = :sp1nn
and  Spieler1vn = :sp1vn
and  Spieler2nn = :sp2nn
and  Spieler2vn = :sp2vn
Statt des Insertsstatements weist Du dem SQL-Text halt das Updatestatement zu.
Das Zuweisen der Parameter hast Du ja beim Insert schon gemacht, das geht beim Update genauso, da kannst Du den vorhandenen Quelltext beibehalten, musst halt dafür sorgen, dass alle Parameter mit den zutreffenden Werten versorgt werden.

Never01 27. Mär 2020 21:29

AW: Sql insert into
 
Zitat:

Zitat von Delphi.Narium (Beitrag 1460657)
Zitat:

Zitat von Never01 (Beitrag 1460654)
Zitat:

Zitat von jobo (Beitrag 1460650)
Das Bild ist nett, aber was ist das Problem?

Das ich nicht weiß, wie ich die Updatezeile richtig schreiben muss

SQL-Code:
update Spiel
set Punktestand1 = :r1,
    Punktestand2 = :r2,
    Punktestand3 = :r3,
    Sieger_NN   = :snn
where Spieler1nn = :sp1nn
and  Spieler1vn = :sp1vn
and  Spieler2nn = :sp2nn
and  Spieler2vn = :sp2vn
Statt des Insertsstatements weist Du dem SQL-Text halt das Updatestatement zu.
Das Zuweisen der Parameter hast Du ja beim Insert schon gemacht, das geht beim Update genauso, da kannst Du den vorhandenen Quelltext beibehalten, musst halt dafür sorgen, dass alle Parameter mit den zutreffenden Werten versorgt werden.

Vielen Dank für deine Hilfe. Das hat mir wirklich sehr weitergeholfen :-D

p80286 27. Mär 2020 21:49

AW: Sql insert into
 
Xxxxxx

p80286 27. Mär 2020 22:03

AW: Sql insert into
 
Zitat:

Zitat von hoika (Beitrag 1460022)
Value sollte man eh nicht benutzen,

Lässt sich teilweise nicht vermeiden je nach Komponente/Treiber-Kombination. Sollte es doch gehen, dann natürlich mit asXXXXX !

Gruß
K-H

P.S.
Wenn
SQL-Code:
where Spieler1nn = :sp1nn
and Spieler1vn = :sp1vn
and Spieler2nn = :sp2nn
and Spieler2vn = :sp2vn
mehr als einen Datensatz ergibt, dann wird die Information halt doppelt abgelegt ? oder dreifach oder ....?
OK bei so einer kleinen Anwendung ist das nicht weiter wichtig, aber wenn's dann mal wichtig sein könnte, dann hat das bisher immer so geklappt und wenns zusammenklappt dann war's Coronna oder der dumme Benutzer?
Die Ansprache der Datensätze immer über die ID! das mag umständlich sein, hilft aber Fehler zu vermeiden, da diese ja wohl nicht doppelt sein sollte. Gut es gibt Spezialisten die bekommen auch das hin:mrgreen: aber man muß es denen janicht zu leicht machen.

Never01 28. Mär 2020 12:06

AW: Sql insert into
 
Hi, ich bins nochmal.

Ich muss nun auch noch verschiedene Auswertungsmöglichkeiten bieten.
Hat da von euch jemand eine Idee, wie ich das am Besten umsetzten kann? Ich habe nämlich keine Idee, wie ich das machen soll.

Delphi.Narium 28. Mär 2020 13:03

AW: Sql insert into
 
Sehr grob sowas:
Delphi-Quellcode:
  datamodule3.ADOQuery3.Close;
  datamodule3.ADOQuery3.SQL.Text:='select * from Spiel where Spieler1vn = :sp1vn and Spieler1nn = :sp1nn');
  datamodule3.ADOQuery3.Parameters.ParamByName('sp1vn').Value := edsp1vn.Text;
  datamodule3.ADOQuery3.Parameters.ParamByName('sp1nn').Value := edsp1nn.Text;
  datamodule3.ADOQuery3.Open;
Damit bekommst Du z. B. alle Daten zum Spieler 1.

Prinzipiell funktioniert eine Auswertung über ein Select. In der Where-Bedingung stehen dann die Auswahlkriterien.

Um an den Aufgabenstellungen im Bezug auf den Umgang mit Datenbanken nicht zu verzweifeln, solltest Du Dir eventuell mal ein Tutorial zu SQL anschauen, lesen, verstehen, z. B. sowas: https://www.datenbanken-verstehen.de/sql-tutorial/
Derweil: Datenbankprogrammierung ohne SQL-Kenntnisse ist annähernd sinnfrei bzw. extrem anstrengend und fehleranfällig.

Never01 28. Mär 2020 13:09

AW: Sql insert into
 
Zitat:

Zitat von Delphi.Narium (Beitrag 1460702)
Sehr grob sowas:
Delphi-Quellcode:
  datamodule3.ADOQuery3.Close;
  datamodule3.ADOQuery3.SQL.Text:='select * from Spiel where Spieler1vn = :sp1vn and Spieler1nn = :sp1nn');
  datamodule3.ADOQuery3.Parameters.ParamByName('sp1vn').Value := edsp1vn.Text;
  datamodule3.ADOQuery3.Parameters.ParamByName('sp1nn').Value := edsp1nn.Text;
  datamodule3.ADOQuery3.Open;
Damit bekommst Du z. B. alle Daten zum Spieler 1.

Prinzipiell funktioniert eine Auswertung über ein Select. In der Where-Bedingung stehen dann die Auswahlkriterien.

Um an den Aufgabenstellungen im Bezug auf den Umgang mit Datenbanken nicht zu verzweifeln, solltest Du Dir eventuell mal ein Tutorial zu SQL anschauen, lesen, verstehen, z. B. sowas: https://www.datenbanken-verstehen.de/sql-tutorial/
Derweil: Datenbankprogrammierung ohne SQL-Kenntnisse ist annähernd sinnfrei bzw. extrem anstrengend und fehleranfällig.

Dankeschön. Ich glaube, ich habe mich falsch ausgedrückt. Solche Auswertungen habe ich schon. Aber vielen Dank.
Ich möchte gern irgendwie die Spiele auswerten. Am besten mit Diagrammen. Aber ich weiß leider nicht, wie ich das am Besten umsetzen soll.

Delphi.Narium 28. Mär 2020 13:27

AW: Sql insert into
 
Das Prinzip ist immer gleich:

SQL-Code:
select wasduhabenmöchtest from Tabelle where wasduhabenmöchtest = :wasduhabenmöchtest


Mein Delphi kennt für Datenbankdiagramme die Komponente TDBChart. Keine Ahnung, was da aktuelle Delphis alles zu bieten.

Wenn Du also schon Auswertungen hast und die (vermutlich) in 'nem DBGrid anzeigst, muss Du halt schauen, ob Deine Delphi eine Komponente für die Anzeige von Daten in Chartform hat. Diese Komponente analog zum DBGrid an die Datenbankkomponente anbinden und schon sollte es bunt werden.

Und nein, das macht man nicht in fünf Minuten, ist schon etwas mehr Aufwand, aber er dürfte trotztem in einem erträglichen Rahmen bleiben.

Never01 28. Mär 2020 13:40

AW: Sql insert into
 
Zitat:

Zitat von Delphi.Narium (Beitrag 1460704)
Das Prinzip ist immer gleich:

SQL-Code:
select wasduhabenmöchtest from Tabelle where wasduhabenmöchtest = :wasduhabenmöchtest


Mein Delphi kennt für Datenbankdiagramme die Komponente TDBChart. Keine Ahnung, was da aktuelle Delphis alles zu bieten.

Wenn Du also schon Auswertungen hast und die (vermutlich) in 'nem DBGrid anzeigst, muss Du halt schauen, ob Deine Delphi eine Komponente für die Anzeige von Daten in Chartform hat. Diese Komponente analog zum DBGrid an die Datenbankkomponente anbinden und schon sollte es bunt werden.

Und nein, das macht man nicht in fünf Minuten, ist schon etwas mehr Aufwand, aber er dürfte trotztem in einem erträglichen Rahmen bleiben.

Ok. Danke dafür. Ich habe davon noch nie twas gehört, wir haben das bisher immer nur über label oder Progressbar ausgewertet. Ich muss das für die Schule machen und keiner hilft uns wir sollen das aber machen und ich bin ziemlich aufgeschmissen.
Es wäre nett, wenn du noch etwas mehr erklären könntest.


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:28 Uhr.
Seite 4 von 5   « Erste     234 5      

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