Guten Tag,
ich hoffe hier kann mir jemand helfen, denn ich bin jetzt schon den ganzen Tag durch so viele Threads gegangen, habe eigene in anderen Foren aufgemacht und immer kam nur ein stumpfer Link ohne Kommentar, der aber nicht viel mit meinem Problem zu tun hatte.
Nun zu meiner Problemstellung:
Ich versuche aktuell, einige Infos, sei es zb. ein Login-System hinzubekommen..
Es läuft auf meinem PC eine Testdatenbank, bzw. eher ein Test SQL-Server.
Ich bin eigentlich .NET Entwickler und muss nun zwingendermaßen auf Android erweitern..
Via des .NET Frameworks bekomme ich die Verbindung kinderleicht hin, dass kann ich aus dem Kopf schreiben, mit Android ist das allerdings eine Qual, ich explodier hier gleich wirklich.
So viele Codes haben mir nicht weitergeholfen darunter:
- php Script zum auslesen (da klappt die Verbindung nicht)
- mit nem Framework aus Android (da bekomme ich nur einen leeren String zurück, das Beispiel poste ich gleich unten)
- andere Frameworks..
- etc.
Ich bete wirklich das Ihr hier meine letzte Rettung seid!!
Um nochmal auf das System einzugehen:
- Ich habe einen MSSQL Server bei mir laufen (Zugriff funktioniert auf allen IPs und sogar von außen.. via .NET)
- Ich arbeite daran via SQL Server Management Studio 2012 (Design & befüllen von Testdaten)
- Ich habe Windows 7 64 bit..
Hier mal eins der zig ausprobierten Beispiele:
public void ibtn_Login_Click (View view) {
MsgBox("Execute");
QuerySQLTask task = new QuerySQLTask();
task.execute();
}
private class QuerySQLTask extends AsyncTask<String, Void, String>{
@Override
protected String doInBackground(String... URL){
try {
Class.forName("com.mysql.jdbc.Driver").newInstance();
//this.setTitle("Driver instantiated");
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
Log.v("Bla", ".....Class com.mysql.jdbc.Driver not found!");
//this.setTitle("");
e.printStackTrace();
} catch (IllegalAccessException e) {
Log.v("Bla", "illegal access");
// TODO Auto-generated catch block
e.printStackTrace();
} catch (InstantiationException e) {
//this.setTitle("");
Log.v("Bla", "instantiation exception");
// TODO Auto-generated catch block
e.printStackTrace();
}
Connection conn = null;
String result = "Empty";
try {
conn = DriverManager.getConnection("jdbc:mysql://192.168.178.111/Datenbankname;shutdown=true", "sa", "Passwort");
} catch (java.sql.SQLException e1) {
Log.v("Bla", e1.toString());
}
try {
Statement stmt = null;
stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery("SELECT * FROM Fragen");
while (rs.next()){
result = rs.getString(1);
}
rs.close();
stmt.close();
conn.close();
} catch (java.sql.SQLException e) {
e.printStackTrace();
Log.v("Bla", e.toString());
}
return result;
}
@Override
protected void onPostExecute(String result) {
MsgBox(result);
}
}
Alles anzeigen
Please help :(..
Ps: Andere Tutorials die ich gefunden habe, waren wohl immer mit lokalen DBs, im Assets Ordner oder so, aber damit kann ich nicht viel anfangen!