AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi afrage: in db schon vorhanden?
Thema durchsuchen
Ansicht
Themen-Optionen

afrage: in db schon vorhanden?

Ein Thema von ph0 · begonnen am 16. Jun 2007 · letzter Beitrag vom 17. Jun 2007
Antwort Antwort
ph0

Registriert seit: 17. Mai 2007
40 Beiträge
 
#1

afrage: in db schon vorhanden?

  Alt 16. Jun 2007, 20:18
Datenbank: mysql • Version: 4.1 • Zugriff über: internet
hallo, ich möchte abfargen ob edit1.text+edit2.text schon in der db vorhanden sind:

Delphi-Quellcode:
 q:='SELECT nname, vname FROM user WHERE nname='+aps+edit1.text+aps+' AND vname='+aps+edit2.text+aps+'';
    FResult:=FMysql.query(q, true, ex);
    kulu:=fresult.FieldValueByName('nname')+' '+fresult.FieldValueByName('vname');

    if not (edit1.Text+' '+edit2.text=kulu) then
        begin
        showmessage('Registration erfolgreich.');
                if assigned(FResult) then
                begin
                  if FMysql.Status<>MYSQL_STATUS_READY then
                  begin
                  ShowMessage('Ein Ergebnis wurde unvollständig gelesen!');
                  FreeAndNil(FResult);
                  end;
                end;
        q:='SELECT id FROM user ORDER BY id DESC';
        FResult:= FMysql.query(q, true, ex);
        FResult.First;
        anzahl:=strtoint(fresult.FieldValueByName('id'))+1;

         q:='INSERT INTO user (id, nname, vname, pw, jg, kl, email, telefon) VALUES (' +aps+ inttostr(anzahl) +aps+', '+aps+edit1.Text+aps+', '+aps+edit2.Text+aps+', '+aps+edit3.Text+aps+', '+aps+edit4.Text+aps+', '+aps+edit5.Text+aps+', '+aps+edit6.Text+aps+', '+aps+edit7.Text+aps+')';

        if checkbox1.State=cbchecked then
          begin
          for m:=1 to 7 do
          begin
          Tedit(findcomponent('edit' +inttostr(m))).Text:='';
          edit4.Text:='13';
          end;
          end;
        end
  else
      begin
      showmessage('Es wurde bereits ein Account mit diesem Namen angelegt.');
      kulu:='';
      end;
  end;

  end;
wenn die vorhanden sind also edit..=kulu dann kommt auch die showmessage wenn aber nicht, dann kommt der fehler: zugriffsverletzung bei......
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.858 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: afrage: in db schon vorhanden?

  Alt 16. Jun 2007, 20:32
Ich würde zuerst überprüfen, wie groß die Ergebnismenge ist.
Markus Kinzler
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.275 Beiträge
 
Delphi 10.4 Sydney
 
#3

Re: afrage: in db schon vorhanden?

  Alt 16. Jun 2007, 20:34
Hallo,

in welcher Zeile denn genau ?


Heiko
Heiko
  Mit Zitat antworten Zitat
ph0

Registriert seit: 17. Mai 2007
40 Beiträge
 
#4

Re: afrage: in db schon vorhanden?

  Alt 16. Jun 2007, 20:43
ok danke habe jetzt
Delphi-Quellcode:
     if length(fresult.FieldValueByName('nname'))<>0 then // <- das eingefügt...
     kulu:=fresult.FieldValueByName('nname')+' '+fresult.FieldValueByName('vname');
...
und schon klappts thx
  Mit Zitat antworten Zitat
Benutzerbild von Sharky
Sharky

Registriert seit: 29. Mai 2002
Ort: Frankfurt
8.252 Beiträge
 
Delphi 2006 Professional
 
#5

Re: afrage: in db schon vorhanden?

  Alt 17. Jun 2007, 06:58
Hai ph0,

so ganz verstehe ich nicht was Du machst

a) Was ist denn "aps" ?
b) Warum verwaltest Du die IDs in der user-Tabelle selber und lässt das nicht vom DBMS machen?
c) Lege doch auf nname und vname eine Unique-Key um zu verhindern das zweimal der selbe Benutzer angelegt wird.
Stephan B.
"Lasst den Gänsen ihre Füßchen"
  Mit Zitat antworten Zitat
ph0

Registriert seit: 17. Mai 2007
40 Beiträge
 
#6

Re: afrage: in db schon vorhanden?

  Alt 17. Jun 2007, 11:36
also aps ist: aps:=chr(39) also das ' zeichen...
weil ich ganz neu in datenbanken etc bin...und ich nicht weiß/wusste dass und wie das geht...

edit: wenn aber auf vname unique ist, kann dann nicht auch nur einmal der vorname gewählt werden, oder gilt das dann nur für die kombination?
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.858 Beiträge
 
Delphi 11 Alexandria
 
#7

Re: afrage: in db schon vorhanden?

  Alt 17. Jun 2007, 11:41
Mur für die Kombination
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von DGL-luke
DGL-luke

Registriert seit: 1. Apr 2005
Ort: Bad Tölz
4.149 Beiträge
 
Delphi 2006 Professional
 
#8

Re: afrage: in db schon vorhanden?

  Alt 17. Jun 2007, 11:47
...und wenn er dann mal zwei meier müller schulz in der db haben will?
Lukas Erlacher
Suche Grafiktablett. Spenden/Gebrauchtangebote willkommen.
Gotteskrieger gesucht!
For it is the chief characteristic of the religion of science that it works. - Isaac Asimov, Foundation I, Buch 1
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.858 Beiträge
 
Delphi 11 Alexandria
 
#9

Re: afrage: in db schon vorhanden?

  Alt 17. Jun 2007, 11:52
Dann würde aber seine manuelle Abfrage, ob die Kombination schon vorhanden ist auch nicht sinnvoll sein.
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von DGL-luke
DGL-luke

Registriert seit: 1. Apr 2005
Ort: Bad Tölz
4.149 Beiträge
 
Delphi 2006 Professional
 
#10

Re: afrage: in db schon vorhanden?

  Alt 17. Jun 2007, 12:10
Jop.
Lukas Erlacher
Suche Grafiktablett. Spenden/Gebrauchtangebote willkommen.
Gotteskrieger gesucht!
For it is the chief characteristic of the religion of science that it works. - Isaac Asimov, Foundation I, Buch 1
  Mit Zitat antworten Zitat
Antwort Antwort


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 03:16 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