![]() |
MySQL Syntaxfehler
moin,
wo ist hier ein fehler?
Delphi-Quellcode:
q.SQL.Text := Format(
'SELECT COUNT(Feld1, Feld2) AS CRESULT ' + 'FROM `Felder` ' + 'WHERE `Feld1` = %0:s' + feld1 + '%0:s AND `Feld2` = %0:s' + feld2 + '%0:s;', [#39] ); nicht über das "%0:s" wundern, das ist letzendlich das gleiche wie: ' ich habe die format funktion genommen da es mich nervt das mysql und delphi die gleichen ' ' benutzen für strings. hier nochmal wie es aussehen würde wenn man Format() in einer messagebox hätte: Zitat:
|
Re: MySQL Syntaxfehler
Hallo,
ich würde mal auf COUNT(Feld1, Feld2) tippen. Ich wusste gar nicht, dass das mit 2 Feldern geht. |
Re: MySQL Syntaxfehler
Geht auch nicht, da es keinen Sinn macht.
|
Re: MySQL Syntaxfehler
wie mach ich es dann?
ich möchte in der datenbank prüfen ob ein NICK und das dazugehörige passwort existieren (ergebis wäre dann > 0) sonst wäre es 0 (existiert nicht) |
Re: MySQL Syntaxfehler
Ganz einfach:
Delphi-Quellcode:
ZQ1.SQL.Text:='SELECT user, password FROM user WHERE user=:user and password=:pass';
ZQ1.ParamByName('user').asString:='User1'; ZQ1.ParamByName('pass').asString:='dasPasswort'; ZQ1.Open; If ZQ1.RecordCount > 0 Then ShowMessage('Login OK') else ShowMessage('Login fehlgeschlagen'); |
Re: MySQL Syntaxfehler
Hi, ich hab' auch noch einen. Wie wär's hiermit?
Code:
Sollte Deinen Anforderungen entsprechen.
SELECT COUNT (name)
FROM users WHERE name = 'Username' AND pass IS NOT NULL; [edit]Uuups! Jo! Semikolon muss weg! Copy'n'Paste :stupid: [/edit] |
Re: MySQL Syntaxfehler
@Pseudemys Nelsoni:
lass mal das " ; " am Ende deines SQL Befehls weg. Damit kommt Delphi nicht klar. |
Re: MySQL Syntaxfehler
@Domo, wird da das passwort auch auf richtigkeit überprüft?
@jelly, kommt delphi damit nicht klar obwohl es innerhalb eines strings ist? ich meine normal anzeigen kann ich es ja mit showmessage(';'); |
Re: MySQL Syntaxfehler
Du hast mich falsch verstanden.. Delphi kommt mit klar. Nur wenn du den SQL Befehl mit abschliessendem ";" an den MySQL Server, kriegst du einen Fehler.
Das ; am Ende eines MySQL Befehls gibt dem Server an, daß der Befehl zu Ende ist und eventuell ein 2ter kommt. Somit kannst du z.B. über PHPMyAdmin ganze Skripte an den Server senden. In Delphi über die TQuery (oder Zeoskomp, egal) klappt das aber nicht... Also Fehlermeldung. Gruß, Tom PS: übrigens, um ein einfaches Anführungszeichen ' in einen Delphi String einzugeben, muss du ihn einfach 2mal eintippen, der wird dann als einzelner ' interpretiert. |
Re: MySQL Syntaxfehler
moin jelly,
wie ich gerade rausgefunden hab, lag es wirklich an meinem COUNT(), also mit ";" gehts (zum glück *g*) auch. Zitat:
danke :) |
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:46 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