2012-04-02 2 views
1

Мой исходный код, как показано ниже:Использование JDBC в Android для подключения удаленных баз

private static final String url  = "jdbc:mysql://localhost/db_name"; 
private static final String user = "xxxx"; 
private static final String pswd = "xxxx"; 
private static final String sql  = "SELECT * FROM table_name"; 

/** Called when the activity is first created. */ 
@Override  
public void onCreate(Bundle savedInstanceState) 
{ 
    super.onCreate(savedInstanceState); 

    LinearLayout linLayMain  = new LinearLayout (this); 
    TextView txtViewMainTitle = new TextView (this); 
    TextView txtViewAdminName = new TextView (this); 
    TextView txtViewAdminPswd = new TextView (this); 

    txtViewMainTitle.setText ("Main Title : NONE"); 
    txtViewAdminName.setText ("Admin Name : NONE"); 
    txtViewAdminPswd.setText ("Admin Password : NONE"); 

    try 
    { 
     Class.forName ("com.mysql.jdbc.Driver").newInstance(); 

     Connection con = (Connection) DriverManager.getConnection (url, user, pswd); 

     txtViewMainTitle.setText ("Main Title : JDBC Connection Sccess"); 

     Statement st = con.createStatement(); 

     ResultSet rs = st.executeQuery (sql); 

     while (rs.next()) 
     { 
      txtViewAdminName.setText ("Admin Name : " + rs.getInt (1)); 
      txtViewAdminPswd.setText ("Admin Pswd :" + rs.getString (2)); 
     } 

    } 
    catch (Exception e) 
    { 
     Log.i ("Test GoSport", "Jdbc Error : " + e.getMessage()); 

     e.printStackTrace(); 
    } 

    linLayMain.addView (txtViewMainTitle); 
    linLayMain.addView (txtViewAdminName); 
    linLayMain.addView (txtViewAdminPswd); 

    txtViewMainTitle.setLayoutParams (new LayoutParams (LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT)); 
    txtViewAdminName.setLayoutParams (new LayoutParams (LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT)); 
    txtViewAdminPswd.setLayoutParams (new LayoutParams (LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT)); 

    setContentView (linLayMain); 
} 

Но, это никогда не успех до сих пор. Когда я увидел Log.i в DDMS, он всегда показывает «JDBC Connection Error».

Моя среда, как показано ниже:

Mac OS X 10.7.2, Eclipse, Java EE Индиго, MySQL-соединение-ява-5.1.18-bin.jar, эмулятор 4.0.3, API 15

+0

Я расскажу о своем собственном ответе. http://stackoverflow.com/questions/9858099/using-jdbc-in-android –

ответ

1

Это не совсем ответ, но я помню, когда я впервые начал программирование на Android, мне сказали не делать прямого подключения к удаленным базам данных, но всегда проходить через интерфейс (например, JSP, PHP, .NET и т. Д. ..). Я не уверен в этой причине (возможно, о безопасности), но просто подумал, что я заброшу свои 2 цента.

 Смежные вопросы

  • Нет связанных вопросов^_^