Hallo, kann mir jemand helfen??
Ich möchte eine Verbindungszeichenfolge für eine MYSQL-Datenbank erstellen. Mache das wie bei MS beschrieben mit
public OdbcConnection verbinde(String passwort)
{
String connection="DRIVER={MySQL ODBC 3.51 Driver};"+
"SERVER=profex;"+
"DATABASE=test;"+
"UID=root;";
connection = connection + ";PASSWORD=" + passwort;+
"OPTION=3";
usw.
bekomme aber jedesmal die Fehlermeldung, daß eine Variable vom Typ 'string' nicht mit + addiert werden darf. Wie kann ich das Problem mit der Passwort-Variable, die ich der Funktion verbinde übergebe, lösen?
Wie lautet die Lösung für den Zusammenbau der Zeichenfolge.
Danke im Voraus
Andreas
Original von lacher
public OdbcConnection verbinde(String passwort) { String connection="DRIVER={MySQL ODBC 3.51 Driver};"+ "SERVER=profex;"+ "DATABASE=test;"+ "UID=root;"; connection = connection + ";PASSWORD=" + passwort;+ "OPTION=3";
String connection="DRIVER={MySQL ODBC 3.51 Driver};"+
"SERVER=profex;"+
"DATABASE=test;"+
"UID=root;";
onnection = connection + ";PASSWORD=" + passwort+
"OPTION=3";
Du musst darauf achten, dass zwischen einer Addition kein ";" steht
Original von lacher
String connection="DRIVER={MySQL ODBC 3.51 Driver};"+
"SERVER=profex;"+
"DATABASE=test;"+
"UID=root;";
connection = connection + ";PASSWORD=" + passwort;+
"OPTION=3";
Die Fehlermeldung verstehe ich jetzt nicht, weil ich Strings immer mit dem +-Operator zusammenfüge...
In der Zeile connection=connection+";PASSWORD="+passwort;+
ist das Semikolon hinter passwort falsch. Deswegen wird der Compiler auf jeden Fall meckern!
Wenn Du das beseitigst, dann sieht der ConnectionString wie folgt aus:
DRIVER={MySQL ODBC 3.51 Driver};SERVER=profex;DATABASE=test;UID=root;;PASSWORD=XXXXXXOPTION=3
Vor PASSWORD ist ein Semikolon zuviel und hinter dem eigentlichem Passwort fehlt ein Semikolon. Deshlab dürfte es wohl auch Probs bei Deiner ODBC-Verbindung geben.
Gruß
Jürgen
Dann schreibst du:
connection = connection + "PASSWORD=" + passwort+";"+
Hallo,
danke für Eure Hilfe. Das war der Fehler.
Man soll nicht immer alles einfach abtippen, was in irgendwelchen Tutorials steht.
Gruß
Andreas
Hey,
hab' mich zu früh gefreut.
Also die Fehlermeldung vom Compiler ist verschwunden, aber:
Egal, welches Paßwort ich mitgebe, ich kann jedesmal alle Datensätze der entsprechenden Tabelle der Datenbank Test selecten.
Habe einen Benutzer Hannes angelegt, ihm ein Passwort zugewiesen und ihm das Select-Recht erteilt.
Aber auch, wenn ich ein anderes Paßwort übergebe, sehe ich die Datensätze?
Weiß jemand Rat, oder braucht Ihr mehr Details?? Danke!!!
Andreas
Noch ein Nachtrag:
Natürlich habe ich die UID im Quellcode auf Hannes geändert und neu compiliert.
Andreas
string conStr = string.Format("DRIVER={MySQL ODBC 3.51 Driver}; SERVER=profex; DATABASE=test; UID=root; connection={0}; PASSWORD={1}; OPTION=3;", connection, passwort );
Ist auf alle Fälle übersichtlicher!
Kann es sein, dass du dafür noch eine alte Connection verwendest, oder das Passwort irgentwo im Programm richtiggesetzt wird. Lass dir halt mal den Connectionstring ausgeben!
--
mfg
Franknstein
Besuchen sie das VisualC++ - Forum