Android如何连接SQLServer数据库

一、开发环境

Android开发工具:Android Studio。

数据库:SQLServer。

二、下载支持Android的SQL驱动。

备注:最新版即可,他们已经做了兼容了,我用的是最新版1.3.1版。

类库包下载地址:https://sourceforge.net/projects/jtds/files/

三、创建DBUtil.java数据库配置操作类。

public class DBUtil {

    private static String IP = "192.168.1.138";
    private static String DBName = "tu";
    private static String USER = "sa";
    private static String PWD = "123qwe!@#";

    /** 创建数据库对象 */
    private static Connection getSQLConnection() {
        Connection con = null;
        try {
            Class.forName("net.sourceforge.jtds.jdbc.Driver");
            //加上 useunicode=true;characterEncoding=UTF-8 防止中文乱码
            con = DriverManager.getConnection("jdbc:jtds:sqlserver://" + IP + ":1433/" + DBName + ";useunicode=true;characterEncoding=UTF-8", USER, PWD);
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        } catch (SQLException e) {
            e.printStackTrace();
        }
        return con;
    }

    /** 查询数据库 */
    public static String Query() {
        String result = "";
        try {
            Connection conn = getSQLConnection();
            String sql = "select * from lei";
            Statement stmt = conn.createStatement();//
            ResultSet rs = stmt.executeQuery(sql);
            while (rs.next()) {
                String s1 = rs.getString("id");
                result += s1 + "\n";
            }
            rs.close();
            stmt.close();
            conn.close();
        } catch (SQLException e) {
            e.printStackTrace();
            result += "查询数据异常!" + e.getMessage();
        }
        return result;
    }
}

特别注意:

(1)别忘了添加用户网络访问权限

(2)要特别注意的是,网络访问以及特别耗时的操作不能放在主线程进行,创建一个子线程或者一个异步任务都行。

class MySQLConnectAsyncTask extends AsyncTask {

    @Override
    protected String doInBackground(Void... voids) {
        String result = DBUtil.Query();
        return result;
    }

    @Override
    protected void onPostExecute(String s) {
        tvContent.setText(s);
    }
}

 

 

你可能感兴趣的:(Android开发)