美文网首页
Android使用JTDS连接服务器SqlServer数据库

Android使用JTDS连接服务器SqlServer数据库

作者: 天天小志 | 来源:发表于2022-12-19 16:35 被阅读0次

此文章介绍Android应用中如何连接服务器上的SqlServer数据库。

1. 下载JTDS

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. 附

源码:点击下载

相关文章

网友评论

      本文标题:Android使用JTDS连接服务器SqlServer数据库

      本文链接:https://www.haomeiwen.com/subject/wlwyqdtx.html