首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Android中的JDBC连接远程MySQL

使用Android中的JDBC连接远程MySQL
EN

Stack Overflow用户
提问于 2012-04-02 10:09:29
回答 1查看 2.9K关注 0票数 1

我的源码如下:

代码语言:javascript
复制
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连接错误“。

我的环境如下:

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

EN

回答 1

Stack Overflow用户

发布于 2012-04-02 10:15:30

这不是一个真正的答案,但我记得当我第一次开始在Android中编程时,我被告知不要直接连接到远程数据库,而是总是通过一个接口(例如JSP、PHP、.NET等)。我不确定这样做的确切原因(可能是出于安全考虑),但我只是想说出我的2点看法。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9970131

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档