【问题标题】:Using JDBC in Android to connect remote MySQLAndroid中使用JDBC连接远程MySQL
【发布时间】:2012-04-15 17:47:56
【问题描述】:

我的源代码如下:

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);
}

但是,它以前从未成功过。当我在 DDMS 中看到 Log.i 时,它总是显示“JDBC Connection Error”。

我的环境如下:

Mac OS X 10.7.2, Eclipse Java EE 靛蓝, mysql-connection-java-5.1.18-bin.jar, 模拟器 4.0.3,API 15

【问题讨论】:

标签: android mysql jdbc


【解决方案1】:

这不是一个真正的答案,但我记得当我第一次开始在 Android 中编程时,我被告知不要直接连接到远程数据库,而是始终通过接口(即 JSP、PHP、.NET 等)。 ..)。我不确定这个的确切原因(可能是安全性),但我只是想我会投入 2 美分

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-10-20
    • 1970-01-01
    • 2023-03-11
    • 1970-01-01
    • 2018-08-19
    • 2017-10-08
    • 2013-08-14
    • 1970-01-01
    相关资源
    最近更新 更多