此文章介绍Android应用中如何连接服务器上的SqlServer数据库。
1. 下载JTDS
- JDTS官网:点击打开
-
JDTS所有版本查看
*目前最新版本为JDTS1.3.1
版本,为2013年6月更新, JDTS1.3.1下载
2. 引入JDTS到工程中
- 解压
jtds-1.3.1-dist.zip
,复制jtds-1.3.1.jar
文件到app/libs/jtds-1.3.1.jar
中; - 右键
jtds-1.3.1.jar
,选择Add As Library
,将jar
包引入到工程中;
3. 连接SqlServer
- 定义连接
url
,private val dbConnectUrl = "jdbc:jtds:sqlserver://IP地址:端口号/DB名称;"
- 定义数据库连接用户名和密码
private val user = "sa" private val password = "123456"
- 连接数据库
Class.forName("net.sourceforge.jtds.jdbc.Driver").newInstance();//在最初的时候加载,比如onCreate方法中 runBlocking(Dispatchers.IO) { con = DriverManager.getConnection(dbConnectUrl, user, password) }
4. 增
使用
executeUpdate
进行新增,并接收受影响行数。
注意:不可以在主线程执行。
val sbContent = StringBuilder()
runBlocking {
val result = async(Dispatchers.IO) {
val stmt = con?.createStatement()
val sql = "INSERT INTO T_Test VALUES('王三','男','一年级一班',99)"
try {
val result = stmt?.executeUpdate(sql) as Int
result > 0
} catch (e: Exception) {
false
}
}
sbContent.append("插入数据结果===")
.append(result.await())
}
5. 删
使用
executeUpdate
进行删除,并接收受影响行数。
注意:不可以在主线程执行。
val sbContent = StringBuilder()
runBlocking {
val result = async(Dispatchers.IO) {
val stmt = con?.createStatement()
val sql = "delete from T_Test where Name='王三'"
try {
val result = stmt?.executeUpdate(sql) as Int
result > 0
} catch (e: Exception) {
false
}
}
sbContent.append("删除数据结果===")
.append(result.await())
}
6. 改
使用
executeUpdate
进行修改,并接收受影响行数。
注意:不可以在主线程执行。
val sbContent = StringBuilder()
runBlocking {
val result = async(Dispatchers.IO) {
val stmt = con?.createStatement()
val sql = "UPDATE T_Test SET Score=90.15 where Name='王三'"
try {
val result = stmt?.executeUpdate(sql) as Int
result > 0
} catch (e: SQLException) {
false
}
}
sbContent.append("更新数据结果===")
.append(result.await())
}
7. 查
使用
executeQuery
查询数据,并接收受影响行数。
注意:不可以在主线程执行。
val sbContent = StringBuilder()
runBlocking {
val result = async(Dispatchers.IO) {
val stmt = con?.createStatement()
val sql = "SELECT TOP 20 * FROM T_Test "
val result = stmt?.executeQuery(sql)
while (result?.next() == true) {
sbContent.append(result.getString(1)).append(",").append(result.getString(2))
.append(",").append(result.getString(3)).append(",").append(result.getString(4))
.append(",").append(result.getString(5))
.append(",\n")
}
sbContent.toString()
}
result.await()
// 输出查询内容
}
8. 附
源码:点击下载
网友评论