一、测试过的开发环境

Eclispse + SqlServer2008R2

二、下载支持Android的SQL驱动

只能下载1.2.7版本的,将 jtds-1.2.7.jar 包放在android项目 libs 目录下。 下载地址:http://sourceforge.net/projects/jtds/files/

三、实现步骤

1、创建数据库连接类 DBUtil.java

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement; public class DBUtil { private static String IP = "192.168.1.1";
private static String DBName = "Test";
private static String USER = "sa";
private static String PWD = "123"; /** 创建数据库对象 */
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 SysUser";
Statement stmt = conn.createStatement();//
ResultSet rs = stmt.executeQuery(sql);
while (rs.next()) {
String s1 = rs.getString("UserCode");
String s2 = rs.getString("RealName");
result += s1 + " - " + s2 + "\n";
}
rs.close();
stmt.close();
conn.close();
} catch (SQLException e) {
e.printStackTrace();
result += "查询数据异常!" + e.getMessage();
}
return result;
}
}

2、创建一个布局文件,activity_main.xml

一个Buttton控件,用来点击查询。
一个TextView控件,用来显示查询到的信息。
代码省略。。。

3、具体代码调用 MainActivity.java

import android.app.Activity;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.TextView; public class MainActivity extends Activity {
Button button;
TextView textview; @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
button = (Button) findViewById(R.id.button);
textview = (TextView) findViewById(R.id.textview);
// 按钮点击事件
button.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
textview.setText("");
test();
}
});
} // 查询
private void test() {
Runnable run = new Runnable() {
@Override
public void run() {
String ret = DBUtil.Query();
Message msg = new Message();
msg.what = 1001;
Bundle data = new Bundle();
data.putString("result", ret);
msg.setData(data);
mHandler.sendMessage(msg);
}
};
new Thread(run).start();
} // 消息显示到控件
Handler mHandler = new Handler() {
public void handleMessage(android.os.Message msg) {
switch (msg.what) {
case 1001:
String str = msg.getData().getString("result");
textview.setText(str);
break;
default:
break;
}
};
};
}

4、在AndroidManifest.xml 加上权限

    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />

5、问题

  • 如何捕获连接数据库失败?
  • 如何连接其它的数据库?
  • 能使用的Android版本有哪些?

最新文章

  1. UITabBarController 升级定制
  2. eclipse中 报出The type javax.servlet.http.HttpServlet cannot be resolved. It is indirect错误
  3. mysql中替换字符串(正则) 模糊
  4. Centos 安装 p7zip,即Linux下的7z
  5. android C/C++ source files 全局宏定义 .
  6. ViewPager onPageChangeListener总结
  7. Win32 CreateWindow GdiPlus
  8. [转贴]C编译过程概述
  9. 奇怪的JS正则表达式问题
  10. 怎样通过WireShark抓到的包分析出SIP流程图
  11. flex布局应用于踩坑
  12. Spring框架(三) JDBCTemplate,声明式事务,自动装载(注解)
  13. 越狱解决iphone4s外放无声音
  14. 创建 elasticsearch 用户
  15. Flume 概述+环境配置+监听Hive日志信息并写入到hdfs
  16. 推荐两个国外网站-帮你优化网站SEO和预测下期的PR值
  17. zhuangxiu
  18. UNIX域套接字——UNIX domain socket(DGRAM)
  19. 【Android N 7.1.1】 锁屏之上显示Toast
  20. Windows平台上Caffe的训练与学习方法(以数据库CIFAR-10为例)

热门文章

  1. MySQL数据库CPU飙升紧急处理方法
  2. 如何查看class文件的编译jdk版本号
  3. Centos7 添加开机启动服务
  4. Oulipo POJ - 3461(kmp,求重叠匹配个数)
  5. js图片压缩上传
  6. DEDE调用列表页,前台titlelen显示不全问题解决
  7. hyper-v虚拟机centos7网络配置
  8. 笔记-4:python组合数据类型
  9. hdu 6053 trick gcd 容斥
  10. ASP.NET Core 2.0 中读取 Request.Body 的正确姿势