首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >安卓项目找不到net.sourceforge.jtds.jdbc.Driver

安卓项目找不到net.sourceforge.jtds.jdbc.Driver
EN

Stack Overflow用户
提问于 2022-05-14 18:21:25
回答 1查看 138关注 0票数 1

我想使用android和将数据库连接到android项目。我在build.gradle中添加了信任关系,但是当我尝试登录到我的应用程序时,请给我这个错误

代码语言:javascript
运行
复制
W/System.err: java.lang.ClassNotFoundException: net.sourceforge.jtds.jdbc.Driver
        at java.lang.Class.classForName(Native Method)
        at java.lang.Class.forName(Class.java:454)
        at java.lang.Class.forName(Class.java:379)
        at com.example.warehousewithstocks.MainActivity.login(MainActivity.java:45)
W/System.err:     at java.lang.reflect.Method.invoke(Native Method)

这是我的MainActivity课

代码语言:javascript
运行
复制
public class MainActivity extends AppCompatActivity {
    private String ip = "192.168.31.203";
    private String port = "1433";
    private String classs = "net.sourceforge.jtds.jdbc.Driver";
    private String db = "Warehouse";
    private String un = "mssqllogin";
    private String password = "mssqllogin$";

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }

    public void login(View v) {
        EditText usernameUser = (EditText) findViewById(R.id.username);
        EditText passwordUser = (EditText) findViewById(R.id.password);

        String strUsernameUser = usernameUser.getText().toString();
        String strPasswordUser = passwordUser.getText().toString();


        Connection conn = null;
        String ConnURL = null;
        StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().permitAll().build();
        StrictMode.setThreadPolicy(policy);
        try {
            Class.forName(classs);
            ConnURL = "jdbc:jtds:sqlserver://" + ip + ":" + port + ";"
                    + "databaseName=" + db + ";user=" + un + ";password="
                    + password + ";";
            conn = DriverManager.getConnection(ConnURL);
            Statement statement = conn.createStatement();
            ResultSet resultat = statement.executeQuery("select * from Accounts where Username_DB = '" + strUsernameUser + "' and Password_DB = '" + strPasswordUser + "'");
            String IdAccount = "";
            if (resultat.next()) {
                IdAccount = resultat.getString("ID_DB");
                System.out.println("zzz " + IdAccount);
            } else {
                System.out.println("zzz " + IdAccount);
            }
            resultat.close();

            statement.close();
        } catch (SQLException e) {
            e.printStackTrace();
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

这是我的activity_main.xml

代码语言:javascript
运行
复制
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@drawable/gradient"
    tools:context=".MainActivity">

    <ImageView
        android:id="@+id/imageView2"
        android:layout_width="120dp"
        android:layout_height="150dp"
        android:layout_alignParentStart="true"
        android:layout_alignParentEnd="true"
        android:layout_alignParentBottom="true"
        android:layout_marginStart="145dp"
        android:layout_marginEnd="146dp"
        android:layout_marginBottom="363dp"
        android:layout_centerHorizontal="true"
        android:contentDescription="TODO"
        app:srcCompat="@drawable/logo" />

    <EditText
        android:id="@+id/username"
        android:layout_width="200dp"
        android:layout_height="wrap_content"
        android:layout_alignParentStart="true"
        android:layout_alignParentEnd="true"
        android:layout_alignParentBottom="true"
        android:layout_marginStart="111dp"
        android:layout_marginEnd="110dp"
        android:layout_marginBottom="270dp"
        android:background="#11000000"
        android:ems="10"
        android:hint="Потребителско име"
        android:inputType="textPersonName"
        android:layout_centerHorizontal="true"
        android:textSize="16dp" />

    <EditText
        android:id="@+id/password"
        android:layout_width="200dp"
        android:layout_height="wrap_content"
        android:layout_alignParentStart="true"
        android:layout_alignParentEnd="true"
        android:layout_alignParentBottom="true"
        android:layout_marginStart="110dp"
        android:layout_marginEnd="111dp"
        android:layout_marginBottom="202dp"
        android:background="#11000000"
        android:ems="10"
        android:hint="Парола"
        android:layout_centerHorizontal="true"
        android:inputType="textPassword" />

    <Button
        android:id="@+id/button"
        android:layout_width="300dp"
        android:layout_height="50dp"
        android:layout_alignParentStart="true"
        android:layout_alignParentEnd="true"
        android:layout_alignParentBottom="true"
        android:layout_centerHorizontal="true"
        android:layout_marginStart="54dp"
        android:layout_marginEnd="56dp"
        android:layout_marginBottom="105dp"
        android:background="@drawable/button_background"
        android:onClick="login"
        android:shadowRadius="@android:integer/config_mediumAnimTime"
        android:text="Вход" />




</RelativeLayout>

这是我的build.gradle

代码语言:javascript
运行
复制
plugins {
    id 'com.android.application'
}

android {
    compileSdkVersion 31

    defaultConfig {
        applicationId "com.example.warehousewithstocks"
        minSdkVersion 23
        targetSdkVersion 31
        versionCode 1
        versionName "1.0"

        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
    }

    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
        }
    }
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }
}

dependencies {

    implementation 'androidx.appcompat:appcompat:1.4.0'
    implementation 'com.google.android.material:material:1.4.0'
    implementation 'androidx.constraintlayout:constraintlayout:2.1.2'
    testImplementation 'junit:junit:4.+'
    androidTestImplementation 'androidx.test.ext:junit:1.1.3'
    androidTestImplementation 'androidx.test.espresso:espresso-core:3.4.0'
    implementation files('net.sourceforge.jtds.jdbc.Driver')
}

这是我的AndoridManifest.xml

代码语言:javascript
运行
复制
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.warehousewithstocks">

    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />

    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:supportsRtl="true"
        android:theme="@style/Theme.WarehouseWithStocks">
        <activity android:name=".MainActivity" android:exported = "true">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>

</manifest>

你能告诉我我错过了什么吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-05-15 12:15:35

您试图导入错误的库。尝试将其添加到build.gradle中的依赖项中--实现‘net.sourceabet.jtds:jtds:1.3.1’

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72242884

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档