Autor Beitrag
Apo95
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 129

Win2000, WinXP, WinServer 2003 Standard x86, Win7x64
Delphi 6 Enterprise, D2009 Architect, RAD Studio XE6 Architect
BeitragVerfasst: So 29.07.12 14:14 
Hallo,Leute,

ich versuche, ein Datenbankprogramm zu bauen. Der Nutzer gibt den Suchbegriff in eine Editfeld ein und in einer DBGrid soll das Ergebnis markiert werden. Der Quellcode allerdings tut nicht das, was ich will; es erscheint immer eine Fehlermeldung und/oder das Ergebnis wird nicht markiert.

Hier der Source:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
adoquery1.Active := true;
  adoquery1.ExecSQL;
  if adoquery1.RecordCount = 1
  then begin
     Edit1.Text :=ADOQuery1Identifier.Text;
     Edit1.Text := ADOQuery1INN.Text;
     cyDBAdvGrid1.Selection;
     cyDBAdvGrid1.Selection;
     cyDBAdvGrid1.SetFocus;
  end
  else
  Edit1.Clear;
    Application.MessageBox('Es stimmte kein Eintrag mit Ihrer Suchanfrage überein.','Kein Ergebnis/Suche fehlgegangen',mb_ICONSTOP or mb_OK);
Weiß jemand Rat? Ich habe mit Datenbankprogrammen nur sehr wenig Erfahrung.

Moderiert von user profile iconNarses: Delphi-Tags hinzugefügt

_________________
Lette-Verein MIA
Perlsau
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Di 31.07.12 01:42 
user profile iconApo95 hat folgendes geschrieben Zum zitierten Posting springen:
Weiß jemand Rat? Ich habe mit Datenbankprogrammen nur sehr wenig Erfahrung.


Nein, ich rate noch:

1. Welche Fehlermeldung erscheint denn?
2. Wie sieht dein SQL-String aus?

Ohne diese Informationen kann kein Mensch der Welt eine sinnvolle Antwort auf deine Frage geben. Wieso verschweigst du sie dennoch?
Apo95 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 129

Win2000, WinXP, WinServer 2003 Standard x86, Win7x64
Delphi 6 Enterprise, D2009 Architect, RAD Studio XE6 Architect
BeitragVerfasst: Di 31.07.12 15:12 
Danke für den Tipp: Das hatte ich völlig verpennt...

SELECT *FROM care_icd10_de

Fehlermeldung:

'Es konnte kein passender Eintrag gefunden werden.' Diese Fehlermeldung habe ich eingefügt, falls tatsächlich kein Eintrag übereinstimmt. Diese erscheint aber immer .

_________________
Lette-Verein MIA
bummi
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 1248
Erhaltene Danke: 187

XP - Server 2008R2
D2 - Delphi XE
BeitragVerfasst: Di 31.07.12 15:51 
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
  adoquery1.Active := true;
  //adoquery1.ExecSQL;  >> ExecSQL brauchst Du wenn Du einen Befehl ohne Ergebnismenge ausführen willst
  if adoquery1.RecordCount = 1 // was wenn mehr als ein Satz zurückkommt
   then 
    begin
     Edit1.Text :=ADOQuery1Identifier.Text;
     Edit1.Text := ADOQuery1INN.Text;
     cyDBAdvGrid1.Selection;
     //cyDBAdvGrid1.Selection; >>> Doppelt
     cyDBAdvGrid1.SetFocus;
    end
  else
    begin // ohne begin - end wid die Nachricht immer angezeigt
      Edit1.Clear;
      Application.MessageBox('Es stimmte kein Eintrag mit Ihrer Suchanfrage überein.','Kein Ergebnis/Suche fehlgegangen',mb_ICONSTOP or mb_OK);
    end;


Moderiert von user profile iconNarses: Code- durch Delphi-Tags ersetzt

_________________
Das Problem liegt üblicherweise zwischen den Ohren H₂♂
DRY DRY KISS
Perlsau
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Di 31.07.12 17:00 
user profile iconApo95 hat folgendes geschrieben Zum zitierten Posting springen:
Danke für den Tipp: Das hatte ich völlig verpennt...
SELECT *FROM care_icd10_de
Fehlermeldung: 'Es konnte kein passender Eintrag gefunden werden.' Diese Fehlermeldung habe ich eingefügt, falls tatsächlich kein Eintrag übereinstimmt. Diese erscheint aber immer .


Tja, einen Befehl *FROM gibt es nicht ...
bummi
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 1248
Erhaltene Danke: 187

XP - Server 2008R2
D2 - Delphi XE
BeitragVerfasst: Di 31.07.12 20:24 
@Perlsau

??? :gruebel:

_________________
Das Problem liegt üblicherweise zwischen den Ohren H₂♂
DRY DRY KISS
Narses
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Administrator
Beiträge: 10183
Erhaltene Danke: 1256

W10ent
TP3 .. D7pro .. D10.2CE
BeitragVerfasst: Di 31.07.12 21:12 
Moin!

@user profile iconbummi: Ich schätze er meint, dass da ein Space fehlt. :idea: ;)

cu
Narses

_________________
There are 10 types of people - those who understand binary and those who don´t.
Perlsau
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Di 31.07.12 21:58 
user profile iconNarses hat folgendes geschrieben Zum zitierten Posting springen:
@user profile iconbummi: Ich schätze er meint, dass da ein Space fehlt. :idea: ;)


@ Narses: Exakt erkannt. Wenn der TE diesen SQL-Befehl direkt in den Foren-Editor kopiert hat, ist das der Fehler, der dafür sorgt, daß " kein passender Eintrag gefunden werden" konnte. Ansonsten hat er sich nur vertippt ...

Moderiert von user profile iconNarses: Beiträge zusammengefasst

user profile iconbummi hat folgendes geschrieben Zum zitierten Posting springen:
@Perlsau

??? :gruebel:


Ich hätte auch schreiben können: Eine Spalte *from gibt es nicht ...
bummi
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 1248
Erhaltene Danke: 187

XP - Server 2008R2
D2 - Delphi XE
BeitragVerfasst: Di 31.07.12 23:00 
Ich hatte das fehlende Leerzeichen tatsächlich übersehen, wenn ich eine Abfrage in der Art in einem Adodataset verwende wird es erstaunlicherweise aber trotzdem problemlos geöffnet.

_________________
Das Problem liegt üblicherweise zwischen den Ohren H₂♂
DRY DRY KISS
Perlsau
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Di 31.07.12 23:05 
user profile iconbummi hat folgendes geschrieben Zum zitierten Posting springen:
Ich hatte das fehlende Leerzeichen tatsächlich übersehen,


Kommt in den besten Familien vor :wink:


user profile iconbummi hat folgendes geschrieben Zum zitierten Posting springen:
wenn ich eine Abfrage in der Art in einem Adodataset verwende wird es erstaunlicherweise aber trotzdem problemlos geöffnet.


Das ist ja der Hammer :!: Intelligentes AdoDataset ... Dann wird der Fehler beim TE wohl woanders liegen ...
bummi
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 1248
Erhaltene Danke: 187

XP - Server 2008R2
D2 - Delphi XE
BeitragVerfasst: Di 31.07.12 23:15 
Ich denke es ist das fehlende Begin .. End im Else Zweig, die Fehlermeldung wird er inzwischen geändert haben .... :glaskugel:

_________________
Das Problem liegt üblicherweise zwischen den Ohren H₂♂
DRY DRY KISS
Perlsau
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Mi 01.08.12 01:24 
user profile iconbummi hat folgendes geschrieben Zum zitierten Posting springen:
Ich denke es ist das fehlende Begin .. End im Else Zweig


Das ist es mit Sicherheit:
ausblenden Delphi-Quelltext
1:
2:
3:
else
  Edit1.Clear;
    Application.MessageBox ...


Logischerweis wird die Messagebox immer angezeigt.

user profile iconbummi hat folgendes geschrieben Zum zitierten Posting springen:
die Fehlermeldung wird er inzwischen geändert haben .... :glaskugel:


Die Fehlermeldung sollte heißen: "Ich bin eine sinnlose Messagebox ..." :D

Du hast eine Glaskugel? Wow! :lol:
DannyVapid
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 38


Delphi 5 Enterprise
BeitragVerfasst: So 30.09.12 21:53 
ausblenden Delphi-Quelltext
1:
2:
if not ADOQuery1.Locate('Identifier', Edit1.Text, [loPartialKey])
   then ShowMessage('Nix gefunden');


das sollte gehen

Moderiert von user profile iconMartok: Delphi-Tags hinzugefügt