Android访问本地服务器SQL Server 2008

首先下载jtds jar包(http://sourceforge.net/projects/jtds/files/jtds/),我下载的是1.2.7版本的

下载好的jar包放入app/libs 下
在这里插入图片描述
然后在app目录下的build.gradle引用jar包

implementation files('libs\\jtds-1.2.7.jar')

关键代码:

	private Connection con = null;
	private String UserName = "sa";
    private String Password = "sa";
	
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        connectTask = new ConnectTask();
        connectTask.execute();
    }
class ConnectTask extends AsyncTask {

        @Override
        protected void onPreExecute() {
            super.onPreExecute();
        }

        @Override
        protected Object doInBackground(Object[] objects) {

            try {
                Log.d("======moyujun=====", "connect sql ing...");
                Class.forName("net.sourceforge.jtds.jdbc.Driver");
                //192.168.50.115:本地数据库服务器ip地址
                //1433:数据库端口号
                //AndroidSQLTest:数据库名称
                //UserName、Password:本地数据库服务器访问账号、密码
                con = DriverManager.getConnection("jdbc:jtds:sqlserver://192.168.50.115:1433/AndroidSQLTest", UserName, Password);
                testQuery(con);
                Log.d("======moyujun=====", "success!!!!!!!!!!!");
            } catch (ClassNotFoundException e) {
                e.printStackTrace();
                Log.d("======moyujun=====", "error Class Not Found");
            } catch (SQLException throwables) {
                throwables.printStackTrace();
                System.out.println(throwables.getMessage().toString());
                Log.d("======moyujun=====", "error SQLException");
            }
            return "over";

        }

        @Override
        protected void onPostExecute(Object o) {
            super.onPostExecute(o);
            Log.d("onPostExecute", String.valueOf(o));
        }
    }

	public void testQuery(Connection con) throws java.sql.SQLException {
        try {
            Log.d("======moyujun=====", "connect success");
            //test这里是表名
            String sql = "SELECT * FROM test";
            Statement stmt = con.createStatement();
            ResultSet rs = stmt.executeQuery(sql);
            while (rs.next()) {
           		//IMEI和SN分别代表着列名,需要根据自己数据表结构来写
                Log.d("======moyujun=====", rs.getString("IMEI"));
                Log.d("======moyujun=====", rs.getString("SN"));
            }
            rs.close();
            stmt.close();
        } catch (SQLException e) {
            System.out.println(e.getMessage().toString());
        } finally {
            if (con != null) {
                try {
                    con.close();
                } catch (SQLException e) {

                }
            }
        }
    }

AndroidManifest.xml里面记得添加权限

<uses-permission android:name="android.permission.INTERNET"/>
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值