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:
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;
Hier noch das Bild aus der Datenbank