D
Dakine
App-Anbieter (In-App)
- 4
Hallo ich habe eine App in der ich bisher Daten in die interne Sqllite Datenbank schreiben,lesen,verändern kann. Jetzt möchte ich diese Daten in eine mySql Datenbank auf dem PC übertragen.
Hier mein Code der auch in einem normalen Javaprojekt funktioniert:
package app.kira;
import java.sql.*;
import java.sql.DriverManager;
public class MyConnection {
private static Connection conn = null;
private MyConnection() {
}
public static Connection connect() throws ConnectException {
if (conn == null) {
try {
Class.forName("com.mysql.jdbc.Driver").newInstance();
conn = DriverManager.getConnection(
"jdbc:mysql://localhost/dbbase", "root", "root");
System.err.println("connected");
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
}
}
return conn;
}
public static void disconnect() throws DisconnectException {
try {
conn.close();
} catch (Exception e) {
throw new DisconnectException();
}
}
}
package app.kira;
import java.sql.Connection;
import java.sql.PreparedStatement;
public class Application{
private Connection conn;
private PreparedStatement preparedStatement;
public Application() throws ConnectException, java.sql.SQLException {
conn=MyConnection.connect();
insert(5555,6666);
}
public void insert(int id,int nr) throws ConnectException, java.sql.SQLException {
String str = "insert into dbbase.fodata"
+ "(_id,nr)"
+ "values( ?, ?)";
// String str="INSERT INTO `dbbase`.`fodata` (`_id`, `nr`) VALUES (?, ?)";
try {
preparedStatement = conn.prepareStatement(str);
} catch (Exception e) {
throw new ConnectException();
}
try {
preparedStatement.setInt(1, id);
preparedStatement.setInt(2,nr);
preparedStatement.executeUpdate();
System.out.println("Eintrag added");
} catch (Exception e) {
e.printStackTrace();
}
}
}
}
-----------------------------------------------------------------------
In meiner StartActivity rufe ich dann
"Application app=new Application(); "
auf.
Es kommt keine Fehlermeldung aber es wird auch nichts in die Datenbank des PCs eingefügt. Ich vermute es liegt an der Host Ip-Adresse die momentan localhost ist. Ich habe es bereits mit der IP-Adresse von meinem PC versucht(192.168.2.100).
Wie kann ich auf die DB des PCs zugreifen?
Hier mein Code der auch in einem normalen Javaprojekt funktioniert:
package app.kira;
import java.sql.*;
import java.sql.DriverManager;
public class MyConnection {
private static Connection conn = null;
private MyConnection() {
}
public static Connection connect() throws ConnectException {
if (conn == null) {
try {
Class.forName("com.mysql.jdbc.Driver").newInstance();
conn = DriverManager.getConnection(
"jdbc:mysql://localhost/dbbase", "root", "root");
System.err.println("connected");
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
}
}
return conn;
}
public static void disconnect() throws DisconnectException {
try {
conn.close();
} catch (Exception e) {
throw new DisconnectException();
}
}
}
package app.kira;
import java.sql.Connection;
import java.sql.PreparedStatement;
public class Application{
private Connection conn;
private PreparedStatement preparedStatement;
public Application() throws ConnectException, java.sql.SQLException {
conn=MyConnection.connect();
insert(5555,6666);
}
public void insert(int id,int nr) throws ConnectException, java.sql.SQLException {
String str = "insert into dbbase.fodata"
+ "(_id,nr)"
+ "values( ?, ?)";
// String str="INSERT INTO `dbbase`.`fodata` (`_id`, `nr`) VALUES (?, ?)";
try {
preparedStatement = conn.prepareStatement(str);
} catch (Exception e) {
throw new ConnectException();
}
try {
preparedStatement.setInt(1, id);
preparedStatement.setInt(2,nr);
preparedStatement.executeUpdate();
System.out.println("Eintrag added");
} catch (Exception e) {
e.printStackTrace();
}
}
}
}
-----------------------------------------------------------------------
In meiner StartActivity rufe ich dann
"Application app=new Application(); "
auf.
Es kommt keine Fehlermeldung aber es wird auch nichts in die Datenbank des PCs eingefügt. Ich vermute es liegt an der Host Ip-Adresse die momentan localhost ist. Ich habe es bereits mit der IP-Adresse von meinem PC versucht(192.168.2.100).
Wie kann ich auf die DB des PCs zugreifen?