如何解决为什么我的Kotlin MySQL应用程序没有找到合适的驱动程序错误?
我正在尝试在基本的Kotlin应用程序中使用mysql数据,并且使用Android Studio。我已经检索了数据并将其打印到仅运行“ Test.kt”文件的控制台中。但是我想在textView和其他东西中使用它。
当我想运行整个应用程序时,我遇到“找不到合适的驱动程序”错误。
这是我的代码:
MainActivity.kt
package com.example.dbtest
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import kotlinx.android.synthetic.main.activity_main.*
class MainActivity : AppCompatActivity() {
var list = ArrayList<DataModel>()
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
button.setOnClickListener {
list = DBCon.connection()
for (i in 0 until list.size){
if (i == list.size){
textView.text = list[list.size].firstName + list[list.size].lastName
}
}
}
}
}
DBCon.kt
package com.example.dbtest
import java.sql.DriverManager
import java.sql.ResultSet
import java.sql.SQLException
object DBCon {
@JvmStatic
fun connection(): ArrayList<DataModel> {
var list = ArrayList<DataModel>()
try {
val connection = DriverManager.getConnection(
"jdbc:mysql://127.0.0.1:3306/testdb","root",""
)
val statement = connection.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_UPDATABLE)
val result = statement.executeQuery("SELECT `id`,`firstName`,`lastName` FROM `testtable`")
while (result.next()){
list.add(DataModel(result.getInt("id"),result.getString("firstName"),result.getString("lastName")))
}
} catch (e: SQLException) {
e.printStackTrace()
}
return list
}
}
Test.kt
package com.example.dbtest
fun main(){
var list = ArrayList<DataModel>()
list = DBCon.connection()
for (i in 0 until list.size){
println(list[i].id.toString() + "- " + list[i].firstName + " " + list[i].lastName)
}
}
DataModel.kt
package com.example.dbtest
data class DataModel(val id: Int,val firstName: String,val lastName: String)
我是Kotlin的新手,我学到了很多新知识来弄清楚这一点,但我做不到。请引导我解决这个问题。预先感谢。
P.S。为了解决这个问题,我根据搜索做了一些事情:
- 添加了jar文件-> mysql-connector-java-8.0.21并用作库//已完成
- 试图添加-> Class.forName(“ com.mysql.jdbc.Driver”)//无效
- 试图添加-> Class.forName(“ com.mysql.cj.jdbc.Driver”)//无效
- 添加了权限->“ android.permission.INTERNET” //无效
- 甚至尝试使用-> AsyncTask // //无效
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。