标签: android-database

SQLiteConstraintException:更新行时列id不是唯一(代码19)异常

我在我的数据库中有一个表,当添加新记录时,我正在检查记录是否存在使用id.如果它存在,我想更新记录,如果它没有添加新记录.但我得到了例外:

2006年至2259年/?E/SQLiteDatabase:插入错误id = 080333 phone = 080333 total_owed = 15050.0 total_debts = 0 name = Alison Jones android.database.sqlite.SQLiteConstraintException:列id不唯一(代码19)

这是检查记录是否存在的方法:

 public boolean checkIfExists(String tableName, String value) {

    SQLiteDatabase database = this.getReadableDatabase();

    String Query = "Select * from " + tableName + " where " + DEBTOR_ID + " = " + value;
    Cursor cursor = database.rawQuery(Query, null);
    if(cursor.getCount() <= 0){
        cursor.close();
        return false;
    }
    cursor.close();
    return true;

}
Run Code Online (Sandbox Code Playgroud)

它在这里被使用:

            debtor.setDebtorName(params[0]);
            debtor.setPhoneNumber(params[1]);
            debtor.setTotalAmountOwed(Double.parseDouble(params[6]));
            debtor.setTotalDebts(0);

            if (databaseHandler.checkIfExists(DebtDatabaseHandler.DEBTOR_TABLE_NAME, params[1])) {
                Log.d("NewDebtFragment", "Record already exist"); …
Run Code Online (Sandbox Code Playgroud)

sqlite android android-database

1
推荐指数
1
解决办法
3324
查看次数

如何使用Android在Sqlite数据库中找到用户?

我正在使用登录/注册应用程序进行培训,因为我是一个初学者,除了一个小问题之外,其他所有功能都可以正常工作,但是我不知道如何解决它,我尝试了搜索,但是在这里找不到任何内容我的数据库

   fun userPresent (user: String,pass: String):Boolean {
       val db = writableDatabase
       val query = "select * from $TABLE_NAME where username = $user and password = $pass"
       val cursor = db.rawQuery(query,null)

       if (cursor.count <= 0) {
           cursor.close()
           return false }
       cursor.close()
       return true }
Run Code Online (Sandbox Code Playgroud)

mainactivity.kt

if (database.userPresent(user = username,pass = password)) {
                intent.putExtra("text", "Welcome , $username $password")
                startActivity(intent)
                Toast.makeText(this,"Logged In Successfully",Toast.LENGTH_SHORT).show()
            } else {
                Toast.makeText(this,"Wrong Username/Password",Toast.LENGTH_SHORT).show()
            }
Run Code Online (Sandbox Code Playgroud)

我的logCat错误

android.database.sqlite.SQLiteException: no such column: ss (code 1 SQLITE_ERROR): , while compiling: select * …
Run Code Online (Sandbox Code Playgroud)

sqlite android kotlin android-sqlite android-database

1
推荐指数
1
解决办法
81
查看次数

从资产文件夹中读取数据库

我在 asset 文件夹中有一个 db 文件,如何使用它。我必须能够读取和写入数据库文件如果我使用

SqliteDatabase.open(context.openassest().open(filrname),null); 未找到异常数据库文件不检查。我在我的腿上正确完成的语法请参阅内容

android android-sqlite android-database

0
推荐指数
1
解决办法
5589
查看次数

android.database.sqlite.SQLiteCantOpenDatabaseException:未知错误(代码14):无法打开数据库仍然无法解决问题

人们已经问过这个问题,但经过许多人的步骤后,我仍然无法解决问题,请帮助。\ni还在清单文件中添加了权限

\n\n
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>\n<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>\n
Run Code Online (Sandbox Code Playgroud)\n\n

这是 logcat 错误。

\n\n
07-17 15:23:58.253 14526-14526/com.techmobile2.yogahome E/AndroidRuntime: FATAL EXCEPTION: main\nProcess: com.techmobile2.yogahome, PID: 14526\njava.lang.RuntimeException: Unable to start activity ComponentInfo{com.techmobile2.yogahome/com.techmobile2.yogahome.SettingPage}: android.database.sqlite.SQLiteCantOpenDatabaseException: unknown error (code 14): Could not open database\n    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2417)\n    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2480)\n    at android.app.ActivityThread.access$800(ActivityThread.java:151)\n    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1377)\n    at android.os.Handler.dispatchMessage(Handler.java:102)\n    at android.os.Looper.loop(Looper.java:155)\n    at android.app.ActivityThread.main(ActivityThread.java:5725)\n    at java.lang.reflect.Method.invoke(Native Method)\n    at java.lang.reflect.Method.invoke(Method.java:372)\n    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1030)\n    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:825)\n Caused by: android.database.sqlite.SQLiteCantOpenDatabaseException: unknown error (code 14): Could not open database\n    at android.database.sqlite.SQLiteConnection.nativeOpen(Native Method)\n    at android.database.sqlite.SQLiteConnection.open(SQLiteConnection.java:235)\n    at android.database.sqlite.SQLiteConnection.open(SQLiteConnection.java:219)\n    at android.database.sqlite.SQLiteConnectionPool.openConnectionLocked(SQLiteConnectionPool.java:468)\n    at android.database.sqlite.SQLiteConnectionPool.open(SQLiteConnectionPool.java:190)\n    at …
Run Code Online (Sandbox Code Playgroud)

android android-logcat android-studio android-database

0
推荐指数
1
解决办法
3473
查看次数

如何在 SQLite 数据库中存储视频内容(不是视频路径)

我想在 sqlite 数据库中存储视频。PS我不想存储路径而是实际的视频内容。我已将视频转换为字节数组并将字节数组存储在 sqlite 数据库中。检索后,bytearray 被转换为文件。但是视频没有播放。请帮忙。

android android-sqlite android-database

0
推荐指数
1
解决办法
5603
查看次数

如何在会议室数据库中添加主键?

我有一个sqlite数据库,我想将数据库更改为Room database

表之一没有任何主键,只有两个外键。

我使用以下查询在房间之前创建了表:

CREATE TABLE student_performance(
class_id int , 
student_id char(10), 
class_date date , 
absent boolean DEFAULT 0, 
delay boolean DEFAULT 0, 
positive int DEFAULT 0, 
negative int DEFAULT 0, 
quiz float ,
FOREIGN KEY (student_id , class_id) REFERENCES student(student_id , class_id) 
ON DELETE CASCADE 
ON UPDATE CASCADE);
Run Code Online (Sandbox Code Playgroud)

现在我为房间定义表:

@Entity(tableName = "performance",
    foreignKeys = {@ForeignKey(
            entity = StudentEntry.class,
            parentColumns = {CLASS_ID, STUDENT_ID},
            childColumns = {CLASS_ID, STUDENT_ID},
            onDelete = CASCADE, onUpdate = CASCADE)})
public class PerformanceEntry {
    . …
Run Code Online (Sandbox Code Playgroud)

android android-sqlite android-database android-room

0
推荐指数
1
解决办法
71
查看次数

如何将数据库连接到 Android 应用程序?

我是 Android 开发的新手,我正在构建一个应用程序。我目前卡在登录屏幕上,因为没有最新的教程可以引导我逐步创建和链接数据库。

我想要一个数据库,以便在按下注册按钮时将信息存储到数据库中。

我目前只有 activity_main.xml 和 MainActivity.kt,这是创建空白活动的基础知识。

android android-database

-3
推荐指数
1
解决办法
58
查看次数