Benutzer mit den meisten Antworten
MySQL Verbindungseinstellungen aus einer Config Datei auslesen.

Frage
-
Guten morgen,
ich möchte gerne folgendes tun:
Ich Habe eine Anwendung welche auf eine MySQL Datenbank zugreift.
Klappt soweit.
Jedoch sind die Verbindungsdaten mit im Code aufgelistet und können somit von anderen nicht verändert werden.
try { string myConnection = "datasource=46.29.2.162;port=3306;username=lexx;password=1121"; MySqlConnection myConn = new MySqlConnection(myConnection); MySqlCommand SelectCommand = new MySqlCommand("select * from Tool.user where username='" + this.textBox1.Text + "' and password='" + this.textBox2.Text + "' and secure_key='" + this.textBox3.Text +"' ;", myConn); MySqlDataReader myReader; myConn.Open(); myReader = SelectCommand.ExecuteReader(); int count = 0; while (myReader.Read()) { count = count + 1; } if (count == 1) { MessageBox.Show("Successfully Logged In!"); Form2 frm = new Form2(); frm.Show(); } else if (count < 1) { MessageBox.Show("Please check your Login Details and try it again!\nIf you are not a member of the Viable LastChaos Team please go away nub...!", "Error!", MessageBoxButtons.OK, MessageBoxIcon.Error, MessageBoxDefaultButton.Button2); myConn.Close(); } else if (count > 1) { MessageBox.Show("Duplicated Account Details!\nPlease Contact the Administrator!!!", "Error!", MessageBoxButtons.OK, MessageBoxIcon.Error, MessageBoxDefaultButton.Button2); myConn.Close(); } } catch (Exception ex) { MessageBox.Show(ex.Message); } }
Man soll die Verbindungdaten (Host,username,pwd) in einer Config oder txt datei eingeben können welche das Program dann nutzt.
Die eingabe in textboxen würde auch schonmal reichen.
Mfg,
Lexx
Antworten
-
Hi,
nimm doch einfach die web.config (ASP.NET) oder die app.config (sonstige Anwendungsarten). Dort gibt es einen Abschnitt ConnectionStrings und dort kann man die Verbindungszeichenfolgen hinterlegen. Siehe dazu:
http://msdn.microsoft.com/de-de/library/ms254494.aspx
Der Zugriff erfolgt dann bspw. über:
String connString = ConfigurationManager.ConnectionStrings[ "KeyDesElementsInAppConfig" ].ConnectionString;
Gruß, Stefan
Microsoft MVP - Visual Developer ASP/ASP.NET
http://www.asp-solutions.de/ - Consulting, Development
http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community- Als Antwort markiert Ionut DumaModerator Mittwoch, 11. Juni 2014 09:41
Alle Antworten
-
Hi,
nimm doch einfach die web.config (ASP.NET) oder die app.config (sonstige Anwendungsarten). Dort gibt es einen Abschnitt ConnectionStrings und dort kann man die Verbindungszeichenfolgen hinterlegen. Siehe dazu:
http://msdn.microsoft.com/de-de/library/ms254494.aspx
Der Zugriff erfolgt dann bspw. über:
String connString = ConfigurationManager.ConnectionStrings[ "KeyDesElementsInAppConfig" ].ConnectionString;
Gruß, Stefan
Microsoft MVP - Visual Developer ASP/ASP.NET
http://www.asp-solutions.de/ - Consulting, Development
http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community- Als Antwort markiert Ionut DumaModerator Mittwoch, 11. Juni 2014 09:41
-
-
Hi,
dieses Format solltest Du dir schenken. Wenn Du die einzelnen Werte haben willst, nimm entsprechende Keys im <appSettings> Node der web.config, bzw. app.config.
<?xml version="1.0" encoding="utf-8"?> <configuration> <appSettings> <add key="SQL:ServerName" value="NameOderIpAdresseDesSQLServers" /> <add key="SQL:UserName" value="Benutzername" /> <add key="SQL:Password" value="Passwort" /> ... </appSettings> </configuration>
Die Werte kannst Du dann per:
String SQLServerName = ConfigurationManager.AppSettings[ "SQL:ServerName" ]; String SQLUserName = ConfigurationManager.AppSettings[ "SQL:UserName" ]; String SQLPassword = ConfigurationManager.AppSettings[ "SQL:Password" ]; ...
auslesen.
Das von dir gezeigte Format wäre eher sowas wie eine INI Datei. IMO macht es keinen Sinn, damit zu arbeiten.
Gruß, Stefan
Microsoft MVP - Visual Developer ASP/ASP.NET
http://www.asp-solutions.de/ - Consulting, Development
http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community -
Eine config.ini würde mir auch reichen.
Hauptsache man kann die Verbindugsdaten i.wo eingeben sodass jeder das Prog nutzen kann.
Habe es jetzt mal so probiert kommen jedoch noch ein paar Fehler welche ich nicht genau beheben kann...
App.Config inhalt:
<?xml version="1.0" encoding="utf-8"?> <configuration> <appSettings> <add key="SQL:ServerName" value="NameOderIpAdresseDesSQLServers" /> <add key="SQL:UserName" value="Benutzername" /> <add key="SQL:Password" value="Passwort" /> <add key="SQL:DataDB" value="DataDB" /> <add key="SQL:CharDB" value="CharDB" /> <add key="SQL:AuthDB" value="AuthDB" /> </appSettings> </configuration>
Fehler :
P.s. Vielen Vielen Dank für die Großartige Hilfe!
- Bearbeitet Lexvo Mittwoch, 21. Mai 2014 16:46
-
Hi,
füg bitte einen Verweis auf die Assembly System.Configuration.dll in dein Projekt ein. Falls das schon der Fall ist, schreib mal ganz oben in die Datei, die den gezeigten Code beinhaltet:
using System.Configuration;
Gruß, Stefan
Microsoft MVP - Visual Developer ASP/ASP.NET
http://www.asp-solutions.de/ - Consulting, Development
http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community -
Hi,
der andere Fehler bei "myConnection" kommt wohl daher, dass es keine Variable "myConnection"gibt. Die müsstest Du dir noch erstellen und mit den passenden Werten versehen.
Gruß, Stefan
Microsoft MVP - Visual Developer ASP/ASP.NET
http://www.asp-solutions.de/ - Consulting, Development
http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community -
Hi,
hat dir die Antwort geholfen? Falls ja, schließ den Thread doch bitte durch markieren der Posting(s), die die Antwort(en) auf deine Frage(n) beinhalten, als Antwort ab.
Gruß, Stefan
Microsoft MVP - Visual Developer ASP/ASP.NET
http://www.asp-solutions.de/ - Consulting, Development
http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community