Editfelder vergleichen..
-
halloo
ich will 2 editfelder mit der datenbank vergleichen doch es funktioniert nich so ganz... so vergleiche ich die inputforms mit der datenbank:
... GetWindowText(name, UEingabe, size); GetWindowText(Pass, PEingabe, size); ... if(PEingabe == row[3] && UEingabe == row[2]) { //AKTION } else { MessageBox(...); }immer wenn ich die eingaben so vergleiche dann bekomm ich immer die messagebox. ich hab auch schon die rows überprüft aber es scheint nich daran zu liegen....
p.s.: sry wenn ich hier falsch bin, aber die frage hat was mit winapi und datenbank zutun
-
Wie sind "PEingabe" und "row" definiert?
-
PEingabe und UEingabe sind durch die GetWindowText zu TCHAR geworden und row ist MYSQL_ROW
-
Typen können sich nicht plötzlich ändern. Es kann höchstens unterschiedlich zugegriffen werden (cast). Mehr Grundlagen lernen wäre angebracht!
Und welchen Typ hat MYSQL_ROW letztendlich?
-
char.... ich will nur wissen was ich falsch mach und nich dass ich mehr grundlagen lernen sollte (was ich mit der übung eig mache)
-
sry ich meine const char
-
Du hast aber noch immer nicht meine erste Frage beantwortet. char... welche jetzt? Und die andere?
-
MySQL_ROW = const char
PEingabe und UEingabe = TCHAR
-
Strings vergleicht man mit
lstrcmp strcmp StrCmpDazu gibt es noch zahlreiche Varianten, wenn beim Vergleich die Groß-/Kleinschreibung beachtet werden soll.
-
Dann dürfte es kein Problem geben.
Allerdings vermute ich, dass das so nicht stimmt.
Ausnahmsweise stimuliere ich mal meinen Output-Kanal.Meine Vermutung:
PEingabe/UEingabe: char * (Array)
MYSQL_ROW: char ** ( http://mysql.conclase.net/curso/index.php?tip=MYSQL_ROW )In dem Fall würdest du zwei Zeiger vergleichen (row[3] dereferenziert den Doppelzeiger einmal, somit hast du noch einen einfachen Zeiger).
C++ ist sehr strikt. Du kannst so nicht Zeichenketten vergleichen.Entweder...
if(!strcmp(PEingabe, row[3]) && !strcmp(UEingabe, row[2])) ......oder mmn. vorzugsweise...
if(std::string(PEingabe) == std::string(row[3]) && std::string(UEingabe) == std::string(row[2])) ...
-
VIELEN DANK, hat alles wunderbar geklappt