连接到外部sql server工具类

本文介绍如何使用jtds驱动在Android应用中连接SQL Server数据库,并提供了一个示例类用于数据库连接、查询和更新操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


首先第一步:我们需要下载一个jtds驱动让Android连接数据库

jtds下载地址http://sourceforge.net/projects/jtds/files/

第二步:数据库连接和测试类DataBaseUtil.java

public class DataBaseUtil {


private static Connection getSQLConnection(String ip, String user,
String pwd, String db) {
Connection con = null;
try {
Class.forName("net.sourceforge.jtds.jdbc.Driver");
con = DriverManager.getConnection("jdbc:jtds:sqlserver://" + ip
+ ":1433/" + db + ";charset=utf8", user, pwd);


} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}
return con;
}


// 更新数据
public static String testSQL(String s) {
String result = "字段1  -  字段2\n";
try {
Connection conn = getSQLConnection(IP地址, 用户名,
密码, "数据库库名");
if (conn == null) {
LogUtil.e("服务器正在忙,请稍后");
// toast.show(context, "服务器正在忙,请稍后连接");
} else {
LogUtil.e("连接成功");
String sql = s;
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery(sql);
while (rs.next()) {
String s1 = rs.getString("CardId");
// String s2 = rs.getString("Id");
// result += s1 + "  -  " + s2 + "\n";
result = s1;
// System.out.println(s1 + "  -  " + s2);
System.out.println(s1);
}


rs.close();
stmt.close();
conn.close();
}
} catch (SQLException e) {
e.printStackTrace();
result += "查询数据异常!" + e.getMessage();
}
return result;
}


// 查询数据
public static String testSQL(String s, String column) {
String result = "字段1  -  字段2\n";
try {
Connection conn = getSQLConnection(IP地址, 用户名,
密码, "数据库库名");
if (conn == null) {
LogUtil.e("服务器正在忙,请稍后");
// toast.show(context, "服务器正在忙,请稍后连接");
} else {
LogUtil.e("连接成功");
String sql = s;
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery(sql);
while (rs.next()) {
String s1 = rs.getString(column);
// String s2 = rs.getString("Id");
// result += s1 + "  -  " + s2 + "\n";
result = s1;
// System.out.println(s1 + "  -  " + s2);
System.out.println(s1);
}
rs.close();
stmt.close();
conn.close();
}
} catch (SQLException e) {
e.printStackTrace();
result = "查询数据异常!" + e.getMessage();
}
return result;
}


// 查询数据
public static ArrayList<String> testSQL1(String s, String column) {
String result = "字段1  -  字段2\n";
ArrayList<String> lists = new ArrayList<String>();
try {
Connection conn = getSQLConnection(IP地址, 用户名,
密码, "数据库库名");
if (conn == null) {
LogUtil.e("服务器正在忙,请稍后");
// toast.show(context, "服务器正在忙,请稍后连接");
} else {
LogUtil.e("连接成功");
String sql = s;
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery(sql);
while (rs.next()) {
String s1 = rs.getString(column);
// String s2 = rs.getString("Id");
// result += s1 + "  -  " + s2 + "\n";
result = s1;
lists.add(result);
// System.out.println(s1 + "  -  " + s2);
System.out.println(s1);
}
rs.close();
stmt.close();
conn.close();
}
} catch (SQLException e) {
e.printStackTrace();
result = "查询数据异常!" + e.getMessage();
}
return lists;
}


public static void main(String[] args) {
testSQL(args.toString());
}

}

获取ip地址方法:window-cmd-ipconfig


MainActivity中主要代码

private void test() {
Runnable run = new Runnable() {


@Override
public void run() {


// 2.对卡号进行查询订单编号
String payorderno = "select ChargeOrderNo from ChargeRecord WHERE CardNo = 10000001";


ArrayList<String> order_No = DataBaseUtil.testSQL1(payorderno,
"ChargeOrderNo");
LogUtil.e(order_No+"");
// 3.根据卡号查询支付状态
String remark = "select MemberName from Member PhoneNum CardNo = 15868449932";


String name = DataBaseUtil.testSQL(remark,
"MemberName");


Message msg = new Message();
/**
* 代表全部
*/
msg.what = 1001;
Bundle data = new Bundle();
// data.putString("order_no", order_number);
data.putStringArrayList("order_no", order_No);
data.putString("order_remark", name);
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:
ArrayList<String> order_No2 = msg.getData().getStringArrayList(
"order_no");
String name = msg.getData().getString("order_remark");
Log.e("MainActivity", name);
default:
break;
}
};
};


项目下载地址:https://github.com/RangersEZ/connect-to-sqlserver-external-database.git

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值