![]() |
AW: Sql insert into
Zitat:
|
AW: Sql insert into
Moin...8-)
Zitat:
Frage: Warum muß es Access sein? Access hat seine Eigenheiten. Könntest du dir vorstellen auf ein anderes DB System zu wechseln? (Firebird usw.) [/OT] |
AW: Sql insert into
Zitat:
Ich habe jetzt komplett die Spalten Geburtsdatum und Mitglied gelöscht. Nun kommt auch keine Fehlermeldung mehr. Nachdem dies nun endlich funktioniert hat, versuchte ich, das Geburtsdatum wieder aufzunehmen, allerdings kommt nun folgende Meldung: "Datentypen in Kriterienausdruck unverträglich".
Delphi-Quellcode:
if (ednn.Text='') or (edvn.Text='') or (comge.Text='') or (edit1.Text='') or(edstr.Text='') or (edhnr.Text='') or (edort.Text='') or (edplz.Text='') or (edtele.Text='')
then begin showmessage ('Daten eingeben') ; end else begin datamodule3.ADOQuery3.SQL.Text:='INSERT INTO Spieler(SpNName,SpVName,Geschlecht,Geburstsdatum,Straße,Hausnummer,Ort,PLZ,Telefon) VALUES (:NN, :VN, :GE, :GD, :ST, :HN, :OR, :PL, :TE);'; datamodule3.ADOQuery3.Parameters.ParamByName('NN').Value:= ednn.Text; datamodule3.ADOQuery3.Parameters.ParamByName('VN').Value:= edvn.Text; datamodule3.ADOQuery3.Parameters.ParamByName('GE').Value:= comge.Text; datamodule3.ADOQuery3.Parameters.ParamByName('GD').Value:= edit1.Text; datamodule3.ADOQuery3.Parameters.ParamByName('ST').Value:= edstr.Text; datamodule3.ADOQuery3.Parameters.ParamByName('HN').Value:= edhnr.Text; datamodule3.ADOQuery3.Parameters.ParamByName('OR').Value:= edort.Text; datamodule3.ADOQuery3.Parameters.ParamByName('PL').Value:= edplz.Text; datamodule3.ADOQuery3.Parameters.ParamByName('TE').Value:= edtele.Text; //datamodule3.ADOQuery3.Parameters.ParamByName('MI').Value:= edmitglied.Text; datamodule3.ADOQuery3.ExecSQL; |
AW: Sql insert into
Zitat:
Delphi-Quellcode:
datamodule3.ADOQuery3.Parameters.ParamByName('GD').AsDateTime := StrToDate(Trim(edit1.Text));
|
AW: Sql insert into
Ohne die Tabellendefinition, die offenbar ein Staatsgeheimnis ist, bleibt das alles hier ein fruchtloses Rätselraten. Mir wäre meine Zeit dafür zu schade.
|
AW: Sql insert into
Hallo,
ist Geburtsdatum wirklich so falsch angelegt worden? Mit 2 s? Value sollte man eh nicht benutzen, siehe etwa hier ![]() AsDateTime wurde ja bereits vorgeschlagen. |
AW: Sql insert into
Liste der Anhänge anzeigen (Anzahl: 1)
Vielen Dank, für die vielen Antworten. Ich konnte das Problem klären. Es war ein ein Speicherfehler. Ich habe zunächst in der Backupdatei gearbeitet und aber die Datenbank im normalen Ordner bearbeitet.
Ich weiß, ich hätte euch einige Nerven ersparen können. Es tut mir leid... Nun habe ich aber ein richtiges Problem: Ich trage zuerst Spielernamen in die Datenbank und nachdem dies geschehen ist, möchte ich den dazu passenden Punktestand eintragen. Allerdings wird dies nicht alles in einer Zeile gespeichert, sondern in 2. Weiß jemand, wie ich beim Punkte eintragen die Daten mit in die vorher gesetzte Zeile schreiben kann. Vielen Dank im Voraus
Delphi-Quellcode:
Hier noch das Bild aus der Datenbank
procedure TForm4.Button1Click(Sender: TObject);
var frage: Cardinal; begin // Frage, ob das neue Mitglied wirklich gespeichert werden soll if (edsp1nn.Text='') or (edsp1vn.Text='') or (edsp2vn.Text='') or (edsp2nn.Text='') then begin showmessage ('Daten eingeben') ; end else frage := MessageDlg('Möchten Sie das Spiel erzeugen?',mtConfirmation,[mbYes,mbNo,mbcancel],0); if frage = IDYES {IDNO} then begin showmessage('Spiel erfolgreich erstellt') end; begin datamodule3.ADOQuery3.SQL.Text:='INSERT INTO Spiel(Spieler1nn,Spieler1vn,Spieler2nn,Spieler2vn) VALUES (:sp1nn, :sp1vn, :sp2nn, :sp2vn);'; datamodule3.ADOQuery3.Parameters.ParamByName('sp1nn').Value:= edsp1nn.Text; datamodule3.ADOQuery3.Parameters.ParamByName('sp1vn').Value:= edsp1vn.Text; datamodule3.ADOQuery3.Parameters.ParamByName('sp2nn').Value:= edsp2nn.Text; datamodule3.ADOQuery3.Parameters.ParamByName('sp2vn').Value:= edsp2vn.Text; datamodule3.ADOQuery3.ExecSQL; end; // damit Punkte einragen erst beim Betätigen erscheint edrunde1.Visible:=true; edrunde2.Visible:=true; edrunde3.Visible:=true; edsnn.Visible:=true; label3.Visible:=true; label4.Visible:=true; label5.Visible:=true; label6.Visible:=true; btrein.Visible:=true; end; procedure TForm4.edrunde1MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer); begin edrunde1.Hint:='Bitte den Spielstand getrennt mit : (Doppelpunkt) eingeben!'; edrunde1.ShowHint:=true; edrunde2.Hint:='Bitte den Spielstand getrennt mit : (Doppelpunkt) eingeben!'; edrunde2.ShowHint:=true; edrunde3.Hint:='Bitte den Spielstand getrennt mit : (Doppelpunkt) eingeben!'; edrunde3.ShowHint:=true; end; procedure TForm4.btreinClick(Sender: TObject); var frage: Cardinal; begin if (edrunde1.Text='') or (edrunde2.Text='') or (edrunde3.Text='') or (edsnn.Text='') then begin showmessage ('Daten eingeben') ; end else frage := MessageDlg('Möchten Sie die Spielergebnis eintragen?',mtConfirmation,[mbYes,mbNo,mbcancel],0); if frage = IDYES {IDNO} then begin showmessage('Ergebnis erfolgreich eingetragen') end; begin datamodule3.ADOQuery3.SQL.Text:='INSERT INTO Spiel(Punktestand1,Punktestand2,Punktestand3,Sieger_NN) VALUES (:r1, :r2, :r3, :snn); '; datamodule3.ADOQuery3.Parameters.ParamByName('r1').Value:= edrunde1.Text; datamodule3.ADOQuery3.Parameters.ParamByName('r2').Value:= edrunde2.Text; datamodule3.ADOQuery3.Parameters.ParamByName('r3').Value:= edrunde3.Text; datamodule3.ADOQuery3.Parameters.ParamByName('snn').Value:= edsnn.Text; datamodule3.ADOQuery3.ExecSQL; end; end; Anhang 52276 |
AW: Sql insert into
Insert macht immer 'nen neuen Datensatz.
Willst Du einen Datensatz ändern, musst Du ein Update machen. Beim Speichern der Punkte musst Du also wissen, welchen Datensatz du ändern möchtest und diesen in der Where-Bedingung des Updates benennen. Da ich dein Datenmodell nicht wirklich kenne mal geraten in etwa sowas:
SQL-Code:
update spiel set r1 = :r1, r2 = :r2, r3 = :r3, snn = :snn where sp1nn = :sp1nn and sp1vn = :sp1vn and sp2nn = :sp2nn and sp2vn = :sp2vn
Das Befüllen der Paramter erfolgt ananlog zu Deinem bisherigen Code. |
AW: Sql insert into
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:
Ich habe auch noch ein Bild von der Datenbank angehängt. Schon mal vielen Dank Anhang 52277 |
AW: Sql insert into
Das Bild ist nett, aber was ist das Problem?
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:40 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz