Scusate se mi rispondo da solo ma penso che puo essere utile ad altri,allora credo di essere riuscito a far si che il driver provi a connettersi almeno credo ma non riesco a capire se ho fatto tutto giusto allora vi posto le due classi che ho fatto con una semplice interrogazione di una tabella. Il Db non ha Username ma ha solo una password non riesco a capire se devo impostare l'username e la password del pc dove è ospitato il db o cosa. sapreste spiegarmelo?
Questa è la classe che uso per connettermi :
codice:
public static Database dataBase;
ResultSet res ;
Database()
{
String url = "jdbc:jtds:sqlserver://localhost/D:/Dropbox/Programmazione/c#;"+"databaseName=dati.mdb;encrypt=false;";
String driver = "net.sourceforge.jtds.jdbc.Driver";
String userName = "";
String password = "gmpa";
try
{
Class.forName(driver).newInstance();
this.connectionObj = DriverManager.getConnection(url, userName, password);
}
catch (Exception sqle)
{
sqle.printStackTrace();
}
}
/**
*
* @return MysqlConnect Database connection object
*/
public static synchronized Database getDbCon()
{
if ( dataBase == null )
{
dataBase = new Database();
}
return dataBase;
}
/**
*
* @param query String The query to be executed
* @return a ResultSet object containing the results or null if not available
* @throws SQLException
*/
public ResultSet query(String query) throws SQLException
{
statement = dataBase.connectionObj.createStatement();
res = statement.executeQuery(query);
return res;
}
/**
* @desc Method to insert data to a table
* @param insertQuery String The Insert query
* @return boolean
* @throws SQLException
*/
public int insert(String insertQuery) throws SQLException
{
statement = dataBase.connectionObj.createStatement();
int result = statement.executeUpdate(insertQuery);
return result;
}
Questo è il mainActivity
codice:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
if (savedInstanceState == null) {
getSupportFragmentManager().beginTransaction()
.add(R.id.container, new PlaceholderFragment())
.commit();
}
Database Data = new Database();
Database.getDbCon();
try {
Data.query("SELECT * From tabripa" );
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();
if (id == R.id.action_settings) {
return true;
}
return super.onOptionsItemSelected(item);
}
/**
* A placeholder fragment containing a simple view.
*/
public static class PlaceholderFragment extends Fragment {
public PlaceholderFragment() {
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.fragment_main, container, false);
return rootView;
}
}
}
Questo l'ultimo Log cat
codice:
07-13 03:08:50.466: D/dalvikvm(2973): GC_FOR_ALLOC freed 206K, 9% free 2924K/3184K, paused 46ms, total 48ms
07-13 03:08:50.516: D/dalvikvm(2973): GC_FOR_ALLOC freed 243K, 14% free 3002K/3464K, paused 34ms, total 34ms
07-13 03:08:50.766: D/dalvikvm(2973): GC_FOR_ALLOC freed 267K, 9% free 3249K/3568K, paused 42ms, total 42ms
07-13 03:08:51.066: W/System.err(2973): android.os.NetworkOnMainThreadException
07-13 03:08:51.066: W/System.err(2973): at android.os.StrictMode$AndroidBlockGuardPolicy.onNetwork(StrictMode.java:1145)
07-13 03:08:51.066: W/System.err(2973): at java.net.InetAddress.lookupHostByName(InetAddress.java:385)
07-13 03:08:51.066: W/System.err(2973): at java.net.InetAddress.getAllByNameImpl(InetAddress.java:236)
07-13 03:08:51.066: W/System.err(2973): at java.net.InetAddress.getAllByName(InetAddress.java:214)
07-13 03:08:51.116: D/dalvikvm(2973): GC_FOR_ALLOC freed 340K, 11% free 3421K/3812K, paused 52ms, total 52ms
07-13 03:08:51.116: W/System.err(2973): at java.net.Socket.tryAllAddresses(Socket.java:109)
07-13 03:08:51.116: W/System.err(2973): at java.net.Socket.<init>(Socket.java:178)
07-13 03:08:51.116: W/System.err(2973): at java.net.Socket.<init>(Socket.java:150)
07-13 03:08:51.126: W/System.err(2973): at net.sourceforge.jtds.jdbc.SharedSocket.<init>(SharedSocket.java:259)
07-13 03:08:51.126: W/System.err(2973): at net.sourceforge.jtds.jdbc.ConnectionJDBC2.<init>(ConnectionJDBC2.java:311)
07-13 03:08:51.126: W/System.err(2973): at net.sourceforge.jtds.jdbc.Driver.connect(Driver.java:187)
07-13 03:08:51.126: W/System.err(2973): at java.sql.DriverManager.getConnection(DriverManager.java:179)
07-13 03:08:51.126: W/System.err(2973): at java.sql.DriverManager.getConnection(DriverManager.java:213)
07-13 03:08:51.126: W/System.err(2973): at com.example.prova.Database.<init>(Database.java:28)
07-13 03:08:51.126: W/System.err(2973): at com.example.prova.MainActivity.onCreate(MainActivity.java:26)
07-13 03:08:51.126: W/System.err(2973): at android.app.Activity.performCreate(Activity.java:5231)
07-13 03:08:51.126: W/System.err(2973): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087)
07-13 03:08:51.126: W/System.err(2973): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2159)
07-13 03:08:51.136: W/System.err(2973): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2245)
07-13 03:08:51.136: W/System.err(2973): at android.app.ActivityThread.access$800(ActivityThread.java:135)
07-13 03:08:51.136: W/System.err(2973): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1196)
07-13 03:08:51.136: W/System.err(2973): at android.os.Handler.dispatchMessage(Handler.java:102)
07-13 03:08:51.136: W/System.err(2973): at android.os.Looper.loop(Looper.java:136)
07-13 03:08:51.136: W/System.err(2973): at android.app.ActivityThread.main(ActivityThread.java:5017)
07-13 03:08:51.136: W/System.err(2973): at java.lang.reflect.Method.invokeNative(Native Method)
07-13 03:08:51.136: W/System.err(2973): at java.lang.reflect.Method.invoke(Method.java:515)
07-13 03:08:51.136: W/System.err(2973): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:779)
07-13 03:08:51.136: W/System.err(2973): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595)
07-13 03:08:51.136: W/System.err(2973): at dalvik.system.NativeStart.main(Native Method)
07-13 03:08:51.146: W/System.err(2973): android.os.NetworkOnMainThreadException
07-13 03:08:51.146: W/System.err(2973): at android.os.StrictMode$AndroidBlockGuardPolicy.onNetwork(StrictMode.java:1145)
07-13 03:08:51.146: W/System.err(2973): at java.net.InetAddress.lookupHostByName(InetAddress.java:385)
07-13 03:08:51.146: W/System.err(2973): at java.net.InetAddress.getAllByNameImpl(InetAddress.java:236)
07-13 03:08:51.146: W/System.err(2973): at java.net.InetAddress.getAllByName(InetAddress.java:214)
07-13 03:08:51.146: W/System.err(2973): at java.net.Socket.tryAllAddresses(Socket.java:109)
07-13 03:08:51.146: W/System.err(2973): at java.net.Socket.<init>(Socket.java:178)
07-13 03:08:51.146: W/System.err(2973): at java.net.Socket.<init>(Socket.java:150)
07-13 03:08:51.146: W/System.err(2973): at net.sourceforge.jtds.jdbc.SharedSocket.<init>(SharedSocket.java:259)
07-13 03:08:51.146: W/System.err(2973): at net.sourceforge.jtds.jdbc.ConnectionJDBC2.<init>(ConnectionJDBC2.java:311)
07-13 03:08:51.146: W/System.err(2973): at net.sourceforge.jtds.jdbc.Driver.connect(Driver.java:187)
07-13 03:08:51.146: W/System.err(2973): at java.sql.DriverManager.getConnection(DriverManager.java:179)
07-13 03:08:51.146: W/System.err(2973): at java.sql.DriverManager.getConnection(DriverManager.java:213)
07-13 03:08:51.146: W/System.err(2973): at com.example.prova.Database.<init>(Database.java:28)
07-13 03:08:51.146: W/System.err(2973): at com.example.prova.Database.getDbCon(Database.java:44)
07-13 03:08:51.146: W/System.err(2973): at com.example.prova.MainActivity.onCreate(MainActivity.java:27)
07-13 03:08:51.146: W/System.err(2973): at android.app.Activity.performCreate(Activity.java:5231)
07-13 03:08:51.146: W/System.err(2973): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087)
07-13 03:08:51.146: W/System.err(2973): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2159)
07-13 03:08:51.146: W/System.err(2973): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2245)
07-13 03:08:51.146: W/System.err(2973): at android.app.ActivityThread.access$800(ActivityThread.java:135)
07-13 03:08:51.146: W/System.err(2973): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1196)
07-13 03:08:51.146: W/System.err(2973): at android.os.Handler.dispatchMessage(Handler.java:102)
07-13 03:08:51.146: W/System.err(2973): at android.os.Looper.loop(Looper.java:136)
07-13 03:08:51.146: W/System.err(2973): at android.app.ActivityThread.main(ActivityThread.java:5017)
07-13 03:08:51.146: W/System.err(2973): at java.lang.reflect.Method.invokeNative(Native Method)
07-13 03:08:51.146: W/System.err(2973): at java.lang.reflect.Method.invoke(Method.java:515)