Android APP连接电脑数据库(以SQL Server为例)

Android APP 连接电脑SQL Server数据库

1. 原理
首先要使APP连接到电脑的数据库就要明白为什么能连接以及该怎么连接。Android为什么一直说自己是一个平台呢,因为它没有自己的内核,不是一个完整的OS,它最开始是“借用”Linux实现的,然后就借用至今。这样看来手机就可以理解为一个微型电脑,所以电脑连接另一台电脑的数据库,肯定是可以实现的。说到这里肯定很多人还是不懂为啥能连接,嗯嗯其实我自己也不太懂反正我成功了,嘻嘻。
相信大家都听过一些连接数据库的接口,比如什么odbc、jdbc等等。这里我就使用的是在jdbc基础上封装的jtds,它的具体内容大家可以百度。
2.具体实现
首先在网上下载jtds的压缩包,我用的版本是jtds-1.2.7。下载好了后在自己新建的工程下新建一个文件夹命名为libs ,大致的位置是在app文件夹下。然后把下载的压缩包放入到新建的libs文件夹中。好了准备好了之后我们就可以开始尝试连接了。
在这里插入图片描述我们首先封装一个getSQLConnection(String ip, String user, String pwd, String db)类型的函数,用于获取Connection对象。第一个参数ip是你的电脑当前连接的网络的ip地址(可以通过打开cmd然后输入ipconfig查看)。因为是远程连接数据库,所以要使用ip,不同于连接本地数据库。第二个参数user是你的数据库的用户名称,一般SQL Server默认的是sa,第三个参数则是你的登录数据库的密码,第四个是你要连接到的自己建立的数据库名称。详细代码如下:

public static Connection getSQLConnection(String ip, String user, String pwd, String db)
    {
        Connection con = null;
        try
        {
            Class.forName("net.sourceforge.jtds.jdbc.Driver");
            //int t=1;
            con = DriverManager.getConnection("jdbc:jtds:sqlserver://" + ip + ":1433/" + db + ";useunicode=true;characterEncoding=UTF-8", user, pwd);
            //加上 useunicode=true;characterEncoding=UTF-8 防止中文乱码
            //int j=0;
        } catch (ClassNotFoundException e)
        {
            e.printStackTrace();
        } catch (SQLException e)
        {
            e.printStackTrace();
        }
        return con;
    }

现在我们就可以写一个testSQL()函数来测试是否可以连接。代码如下:

public static String testSQL()
    {
        String result = "字段1  -  字段2\n";
        try
        {
            Connection conn = getSQLConnection("你的ip", "数据库登录名", "数据库登录密码", "数据库名");//远程连接的端口一定要查看电脑的,而不是手机的
            String sql = "select * from 数据库中的表名";
            Statement stmt = conn.createStatement();
            ResultSet rs = stmt.executeQuery(sql);

            while (rs.next())
            {
                // <code>ResultSet</code
                String s1 = rs.getString("数据库中的字段名");
                String s2 = rs.getString("数据库中的字段名");
                result += s1 + "  -  " + s2 + "\n";
                System.out.println(s1 + "  -  " + s2);
            }
            rs.close();
            stmt.close();
            conn.close();
        } catch (SQLException e)
        {
            e.printStackTrace();
            //result += "查询数据异常!" + e.getMessage();
        }
        return result;
        //return bool;
    }

此时我们可以写一个main函数来看看是否可以连接成功。

public static void main(String[] args)
    {
        String result = testSQL();
        System.out.println(result);
    }

可以看到输出结果为:
在这里插入图片描述
与数据库中存储的信息一致。这里只是一个查询相关的示例,如果大家要执行插入、删除的操作可以在网上查查,这种有很多教程。
今天就写这么多,下一篇是加载百度地图实现定位。

  • 20
    点赞
  • 185
    收藏
    觉得还不错? 一键收藏
  • 13
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值