![]() |
Datenbank: mySQL • Zugriff über: mySQL direkt
zur MySQL Verbinden und Einträge überprüfen
Hallo Leute,
Hab mir mal das Tutorial hier angesehen, ![]() Funzt auch alles recht gut mit dem Connencten zu meiner Datenbank, allerdings ist mir noch nich klar wie ich den Inhalt überprüfen kann. also hier mal den Code
Delphi-Quellcode:
Nun ich habe auf der ersten Form ein Edit, wo der jenige seinen Usernamen einträgt.procedure TForm1.BitBtn1Click(Sender: TObject); var dwConnectionTypes: DWORD; begin if not InternetGetConnectedState(@dwConnectionTypes, 0) then // not connected if not InternetAutodial(INTERNET_AUTODIAL_FORCE_ONLINE or INTERNET_AUTODIAL_FORCE_UNATTENDED, 0) then begin FMysql.Free; if FResult<>nil then FResult.free; Form1.Close end; FMysql.Host := 'http://localhost/............'; FMysql.port := 3306; FMysql.user :='.............'; FMysql.password := '.............'; FMysql.UnixSocket := ''; FMysql.Db := '.............'; // Datenbank auf dem Server FMysql.UseNamedPipe := false; FMysql.UseSSL := false; FMysql.Compress := true; FMysql.TrySockets := false; if FMysql.Connect then Form4.Show; if FMysql.Connect then Form4.Label1.Caption := 'Verbindung aufgebaut, Benutzer wird überprüft, Bitte Warten' else Form4.Label1.Caption := 'Fehler beim Verbinden: '+FMysql.LastError; end; Auf einen klick auf den Button verbindet sich das Programm mit dem Internet, und dem Server der Datenbank. Danach öffnet sich eine neue Form. Wie kann ich nun das so machen das nach dem Verbinden zur Datenbank der Username, den der jenige eingetragen hat, mit der Datenbank verglichen wird, und das Programm dann dementsprechend handelt vielleicht kenn sich ja jemand mit funpic.de aus, auf dem liegt meine Datenbank. Danke an alle schonmal |
Re: zur MySQL Verbinden und Einträge überprüfen
Zitat:
|
Re: zur MySQL Verbinden und Einträge überprüfen
Das soll der benutzer sein der in der Datenbank steht
|
Re: zur MySQL Verbinden und Einträge überprüfen
Wie sieht die Tabelle aus?
Du mußt dafür eine Abfrage in der art machen:
SQL-Code:
select * from Users where Username = <benutzername>;
|
Re: zur MySQL Verbinden und Einträge überprüfen
Die Tabelle heist "user" es ist nur eine Spalte für die verschiedenen Namen vorhanden.
Und wie erstelle ich so ne Abfrage, damit kenne ich mich nich aus, iss mein erstes mal mit so ner Datenbank. Ich stehe da, wie ein Affe vor dem Scheunentor |
Re: zur MySQL Verbinden und Einträge überprüfen
Schau mal auf der seite 4 des von dir genannten
![]() |
Re: zur MySQL Verbinden und Einträge überprüfen
SELECT * FROM `User` WHERE 1, steht bei der Abfrage des PhPmyAdmin, nur wie kann ich das dafür werwenden.
habe den Code der Abfrage des Tutorials mal verwendet und dann die Abfrage eingegeben und das hat schon mal geklappt, aber wie kann ich das nun verbinden das der jenige sein Usernamen ins Edit eingibt, das mit der Tabelle verglichen wird und er mir sagt das zugriff erlaubt oder nich |
Re: zur MySQL Verbinden und Einträge überprüfen
Wie sieht die Tabelle genau aus (Metadaten=Felder)? Geht es dir nur darum festzustellen ob der eingegebene Benutzername in der Datenbank existiert oder sollen weitere Informationen zu diesem Benutzer ermittelt werden?
|
Re: zur MySQL Verbinden und Einträge überprüfen
Es geht nur drum das das Programm ermittelt ob der eingegebene Name Existiert, nichts weiter.
Ich weis nich ob dir das weiterhilft aber hier mal ein Bild der Tabelle. *schnipp schnapp* Iss also ne Datenbank für mehrere Namen die in dem Programm überprüft werden sollen [edit=Sharky]Toten Link auf das Bild entfernt. Mfg, Sharky[/edit] |
Re: zur MySQL Verbinden und Einträge überprüfen
Ich galube du hast da was falsch verstanden. Was machst du wenn du mal 1000 oder mehr Benutzer hast? Tausend Felder? ;-)
Normalerweise würde sich eine derartige Struktur anbieten: ID UserName Name ... 1 pmueller Peter Müller 2 smaier Susi Meier |
Re: zur MySQL Verbinden und Einträge überprüfen
Ja da gebe ich dir recht, aber mir gings erst mal um die ausführung.
Ich wollt erst mal das mit dem überprüfen kennelernen, bevor ich mich daran mache, die sache weiter auszubauen, außerdem bezweifle ich es 100 oder mehr Benutzer eintragen zu müssen. Erstmal Danke, das du dir die Zeit nimmst, mir das verständlich zu machen |
Re: zur MySQL Verbinden und Einträge überprüfen
Nur deine Struktur ist sehr schlecht, da um zu überprüfen ob ein Beutzer existiert alle Felder überprüft werden müßen.
Zitat:
SQL-Code:
Und wenn ein neuer Benutzer dazukommt brauchst du nur ein Insert machen, anstatt wie bei deiner Lösung erst die Struktur der Tabelle und die Abfrage zu ändern.
select * from Users where Username = '<user>';
|
Re: zur MySQL Verbinden und Einträge überprüfen
Na gut, dann werd ich mal drüber hirnen, und es nach deinem Vorschlag machen.
Ich danke dir für deine Geduld. |
Re: zur MySQL Verbinden und Einträge überprüfen
Keine Ursache.
|
Re: zur MySQL Verbinden und Einträge überprüfen
Hallo mkinzler,
Habe mir deinen Rat zu Herzen genommen und in die Tabelle jetz mit ID eingegeben. Und habe es jetzt geschaft die Abfrage zu Formulieren und den Inhalt kann ich jetzt in eine Listbox anzeigen lassen.
Delphi-Quellcode:
stellt sich mir nur noch die Frage, wie kann ich jetzt den eingegebenen Namen im Edit
procedure TForm1.BitBtn1Click(Sender: TObject);
var q: string; ex: boolean; i:integer; begin //Verbindung zur Datenbank FMysql.Host := 'http://localhost/ssfmessenger.ss.funpic.de'; FMysql.port := 3306; FMysql.user :='ssfmessenger_02'; FMysql.password := 'saschascholz'; FMysql.UnixSocket := ''; FMysql.Db := 'ssfmessenger_02'; // Datenbank auf dem Server FMysql.UseNamedPipe := false; FMysql.UseSSL := false; FMysql.Compress := true; FMysql.TrySockets := false; if assigned(FResult) then begin if FMysql.Status<>MYSQL_STATUS_READY then FreeAndNil(FResult); end; q:='SELECT Name FROM username WHERE ID'; FResult := FMysql.query(q, true, ex); if assigned(FResult) then begin Form3.Listbox1.Items.Clear; i:=-1; FResult.First; while not FResult.Eof do begin i:=i+1; Form3.Listbox1.items[i] :=FResult.FieldValueByName('Name'); FResult.Next; mit der Datenbank vergleichen ob er vorhanden ist. Kannst du mir da eventuell helfen? |
Re: zur MySQL Verbinden und Einträge überprüfen
Anmerkungen zum vorhandenen Code:
In Zeile 21 reicht
SQL-Code:
Außerdem brauchst du die Zählervariable i nicht
SELECT Name FROM username;
Delphi-Quellcode:
Um Herauszufinden, ob ein User vorhanden ist kannst du eine Select auf ihn machen:
Form3.Listbox1.items.add(FResult.FieldValueByName('Name'));
SQL-Code:
Also z.B.
Select * from username where name = '<name>';
Select * from username where name = 'iron';[/sql] Wenn du ein Ergebnis erhälst ist der Benutzer vorhanden. |
Re: zur MySQL Verbinden und Einträge überprüfen
Ey Wunderbar, Danke für alles
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:39 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