AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Datenbankfehler in Delphi

Ein Thema von S4nikrA · begonnen am 20. Mär 2021 · letzter Beitrag vom 21. Mär 2021
Antwort Antwort
Seite 1 von 2  1 2      
S4nikrA

Registriert seit: 8. Feb 2021
9 Beiträge
 
#1

Datenbankfehler in Delphi

  Alt 20. Mär 2021, 17:22
Datenbank: Access • Version: egal • Zugriff über: Delphi
Schönen Guten Tag liebe Community!
Ich hätte eine Frage zu einer Datenbankanbindung, warum Delphi da rum meckert, obwohl die Daten dann schon in der Datenbank niedergeschrieben sind.
Es kommt immer wieder zu folgendem Fehler:"Commandtext gibt keine Ereignismenge zurück"

Was bedeudet das? Ist da jemand Fachmann/frau in dem Thema?
  Mit Zitat antworten Zitat
Benutzerbild von haentschman
haentschman

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
5.388 Beiträge
 
Delphi 12 Athens
 
#2

AW: Datenbankfehler in Delphi

  Alt 20. Mär 2021, 17:28
Moin...
Zitat:
"Commandtext gibt keine Ereignismenge zurück"
...kann es sein daß du ExecSQL statt Open benutzt? Der Quelltext wäre hilfreich.
  Mit Zitat antworten Zitat
S4nikrA

Registriert seit: 8. Feb 2021
9 Beiträge
 
#3

AW: Datenbankfehler in Delphi

  Alt 20. Mär 2021, 17:30
Delphi-Quellcode:
procedure TForm1.BteinlesenClick(Sender: TObject);
var vname, nname: string;
begin
  if (Edvname.text <> ('')) and (Edname.Text <> ('')) then
    begin
      showmessage('Funkioniert');
    end
      else
        begin
          showmessage('Werte eingeben!');
        end;

  vname := Edvname.Text;
  nname := Edname.Text;

  abfrage := 'select vorname, nachname From Spieler Where vorname ="'+vname+'" and nachname="'+nname+'"';

  Datenmodul.ADOQuery3.SQL.Clear;
  Datenmodul.ADOQuery3.SQL.Add(abfrage);
  Datenmodul.ADOQuery3.Open;

  if Datenmodul.ADOQuery3.IsEmpty then
    begin
      showmessage('nicht vorhanden!');

      Panel1.Visible := false;
      PAbfrage.Visible := true;

      eintrag := 'insert into spieler(vorname, nachname, Bestwert, Bestwert1, Bestwert2) values ("'+Edvname.text+'","'+Edname.Text+'","0","0","0")';
    end
      else
        begin
          showmessage('vorhanden!');

        end;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  Panel1.Visible := true;
  PAbfrage.Visible := false;
end;

procedure TForm1.PjClick(Sender: TObject);
begin
  Datenmodul.ADOQuery4.SQL.Clear;
  Datenmodul.ADOQuery4.SQL.Add(eintrag);
  Datenmodul.ADOQuery4.Active := true;
  Panel1.Visible := false;
  PAbfrage.Visible := false;
  showmessage('erfolgreich eingetragen!');
end;

procedure TForm1.PnClick(Sender: TObject);
begin
  Panel1.Visible := true;
  PAbfrage.Visible := false;
end;
Die genaue Problemstelle liegt bei ADOQuery4, der Rest läuft und flutscht, wie es sollte.

Geändert von S4nikrA (20. Mär 2021 um 17:33 Uhr)
  Mit Zitat antworten Zitat
DieDolly

Registriert seit: 22. Jun 2018
2.175 Beiträge
 
#4

AW: Datenbankfehler in Delphi

  Alt 20. Mär 2021, 17:41
Delphi-Quellcode:
  if (Edvname.text <> ('')) and (Edname.Text <> ('')) then
    begin
      showmessage('Funkioniert');
    end
      else
        begin
          showmessage('Werte eingeben!');
        end;
Wenn ich sowas schon sehe, wird mir irgendwie schlecht.

Drück mal STRG+D im Editor! Und guck dir bitte einen Delphi-Style-Guide an.
Viele Probleme lösen sich von selbst und sind sofort sichtbar, wenn man den Code vernünftig hinschreibt.
  Mit Zitat antworten Zitat
Redeemer

Registriert seit: 19. Jan 2009
Ort: Kirchlinteln (LK Verden)
1.051 Beiträge
 
Delphi 2009 Professional
 
#5

AW: Datenbankfehler in Delphi

  Alt 20. Mär 2021, 17:44
      eintrag := 'insert into spieler(vorname, nachname, Bestwert, Bestwert1, Bestwert2) values ("'+Edvname.text+'","'+Edname.Text+'","0","0","0")';
Escape, fools!
Janni
2005 PE, 2009 PA, XE2 PA
  Mit Zitat antworten Zitat
S4nikrA

Registriert seit: 8. Feb 2021
9 Beiträge
 
#6

AW: Datenbankfehler in Delphi

  Alt 20. Mär 2021, 17:45
Danke für den Tipp, aber so haben wir es gelernt bekommen und in ein paar Wochen arbeite ich damit nicht mehr.
Es ist nur für das letzte Projekt wichtig.
  Mit Zitat antworten Zitat
DieDolly

Registriert seit: 22. Jun 2018
2.175 Beiträge
 
#7

AW: Datenbankfehler in Delphi

  Alt 20. Mär 2021, 17:46
Zitat:
Danke für den Tipp, aber so haben wir es gelernt bekommen und in ein paar Wochen arbeite ich damit nicht mehr.
Lehrer dir das so lehren gehören sofort gekündigt.
  Mit Zitat antworten Zitat
S4nikrA

Registriert seit: 8. Feb 2021
9 Beiträge
 
#8

AW: Datenbankfehler in Delphi

  Alt 20. Mär 2021, 17:48
Hab es gemacht, nur habe ich immer noch keine Lösung auf das Problem.
  Mit Zitat antworten Zitat
Delphi.Narium

Registriert seit: 27. Nov 2017
2.490 Beiträge
 
Delphi 7 Professional
 
#9

AW: Datenbankfehler in Delphi

  Alt 20. Mär 2021, 17:49
Die Fehlermeldung besagt, das die Abfrage kein Ergebnis liefert, was bei Insert, Update, Delete ... völlig normal ist.
Man darf active := true bzw. open nur bei Select-Statements nutzen, sonst muss man immer ExecSQL verwenden.
Delphi-Quellcode:
procedure TForm1.PjClick(Sender: TObject);
begin
  Datenmodul.ADOQuery4.SQL.Clear;
  Datenmodul.ADOQuery4.SQL.Add(eintrag);
  Datenmodul.ADOQuery4.ExecSQL; // .Active = true bzw. .Open darf man nur bei Select nutzen, sonst IMMER ExecSQL.
  Panel1.Visible := false;
  PAbfrage.Visible := false;
  if Datenmodul.ADOQuery4.RowsAffected > 0 then begin
    showmessage('erfolgreich eingetragen!');
  end else begin
    showmessage('Sinnvolle Fehlermeldung ausgeben!');
  end;
end;
  Mit Zitat antworten Zitat
Benutzerbild von haentschman
haentschman

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
5.388 Beiträge
 
Delphi 12 Athens
 
#10

AW: Datenbankfehler in Delphi

  Alt 20. Mär 2021, 17:51
Datenmodul.ADOQuery4.Active := true; ->
Datenmodul.ADOQuery4.ExecSQL;
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      

 

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:30 Uhr.
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