Android通过JTDS直接连接SQL Server 2008数据库

首先下载JTDS(http://sourceforge.net/projects/jtds/files/jtds/),这里有JTDS的各种版本,起初下的是jtds-1.3.1,但在使用中总出现

ClassNotFound:net.sourceforge.jtds.jdbc.Driver 错误,后来下载了1.2.7版本,解决了这个问题,可能jdk需要7.0的。


import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

import android.app.Activity;
import android.os.AsyncTask;
import android.os.Bundle;
import android.util.Log;


public class MainActivity extends Activity
{

private String UserName = "sa";
private String Password = "sa";

@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);

ConnectTask dt = new ConnectTask();
dt.execute();

}

class ConnectTask extends AsyncTask<Integer, Integer, String>
{
Connection con = null;
@Override
protected void onPreExecute() {
//第一个执行方法
super.onPreExecute();
}

@Override
protected String doInBackground(Integer... params) {
//建立于数据库的连接
try {
Class.forName( "net.sourceforge.jtds.jdbc.Driver");
con = DriverManager.getConnection( "jdbc:jtds:sqlserver://10.0.2.2:1433/AndroidSample", UserName, Password); //10.0.2.2是使用模拟器是用的本机(pc)的IP,androidSample是我的数据库名称
testConnection(con);//测试数据库连接
} catch (ClassNotFoundException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
Log.e("Class.forName::ClassNotFoundException", e1.getMessage());
}catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

return "执行完毕";
}

@Override
protected void onPostExecute(String result) {
super.onPostExecute(result);
}

public void testConnection(Connection con) throws java.sql.SQLException {
try {
String sql = "SELECT * FROM Seed.Person";//查询表名为“Seed.Person”的所有内容
Statement stmt = con.createStatement();//创建Statement
ResultSet rs = stmt.executeQuery(sql);//ResultSet类似Cursor

while (rs.next()) {//<CODE>ResultSet</CODE>最初指向第一行
Log.e("&&&&&", rs.getString("NameChs"));
Log.e("&&&&&", rs.getString("OperateUserName"));
}
rs.close();
stmt.close();
} catch (SQLException e) {
System.out.println(e.getMessage().toString());
} finally {
if (con != null)
try {
con.close();
} catch (SQLException e) {
}
}
}
}

}


更多相关文章

  1. 把android db文件导入到项目中
  2. android 定时一段时间执行
  3. Android(安卓)Activity生命周期浅谈
  4. 【Android】OkHttp系列(一):发送请求与获取响应流程概述
  5. android 数据库 sqlite 操作
  6. 关于Android中windowleaked异常的理解
  7. [Android] 通过代码调用返回键
  8. Android(安卓)- MPTCP - (./net/ipv4/Kconfig, ./net/mptcp/Kcon
  9. Android中更改SQLite数据库中的数据后,刷新ListView。

随机推荐

  1. Android系统架构和四大组件
  2. 利用androidannotations的@Backgroud及@U
  3. android 自定义地图初步实现
  4. Media-媒介(媒体、介质)【译】
  5. Android中Button
  6. 关于android的fragment的一些说明
  7. android Gallery点击 跳到ViewFlipper全
  8. android 如何使用spinner来实现选择省份
  9. 解决 EditText 屏蔽输入窗口问题
  10. 我的android 第24天 - ContentUris和Cont