标签: android-sqlite

如何从 SQLite 选择数字/字符大于某个值的行

我必须选择地址列的大小/长度(字符数)大于 12 的位置。有人可以帮我解决这个问题吗?

String selection = "address LIKE ?";
String[] selection_args = {};
cr- content resolver
Cursor cursor = cr.query(messageUri, null, selection, selection_args, "date DESC");
Run Code Online (Sandbox Code Playgroud)

android android-sqlite

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

这不适用于目标“没有支持字段或委托的成员属性”以及在 Android 上使用 Room 传递值错误?

我正在使用房间。我需要使用 SELETC、INSERT、DELETE 全部。

这就是我实现的:

@Dao
interface UserDao {
    @Query("SELECT * FROM user WHERE m_id IN (:m_id)")
    fun loadAllByIds(userSeqs: IntArray?): List<User?>?

    @Query("SELECT * FROM user")
    val all: List<User?>?
}
Run Code Online (Sandbox Code Playgroud)
@Entity(tableName = "user")
data class User (
    @PrimaryKey(autoGenerate = true) val seq: Long,

    // this name is used in dao as column name
    @ColumnInfo(name = "m_id") val mId: String?,
    @ColumnInfo(name = "k_id") var kId: String?,
    @ColumnInfo(name = "created_at") var createdAt: String?
)
Run Code Online (Sandbox Code Playgroud)
@Database(entities = {User.class}, version = 1,  exportSchema = false)
public …
Run Code Online (Sandbox Code Playgroud)

android android-sqlite android-room

0
推荐指数
2
解决办法
3692
查看次数

数据库字符串选择

我已将名称传递给我的数据库,我想通过该数据库提取该名称的详细信息.我想这样做.我该如何解决?"name"是单击的名称.我想使用此参数来查询数据库并获取此名称的相关信息.

public String getName(String name) {
    // TODO Auto-generated method stub
            String namereturned = "";
    String[] columns = new String[] { KEY_ROWID, KEY_NAME,
            KEY_PERSONALPHONE, KEY_HOMEPHONE, KEY_OFFICEPHONE };
    Cursor c = ourDatabase.query(DATABASE_TABLE, columns, KEY_NAME + "="
            + name +"'", null, null, null, null);
    if (c != null) {
        c.moveToFirst();
            return  namereturned = c.getString(1);


    }
    return null;
}
Run Code Online (Sandbox Code Playgroud)

登录CAT

10-04 15:15:05.954: E/AndroidRuntime(760): FATAL EXCEPTION: main
10-04 15:15:05.954: E/AndroidRuntime(760): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.contactlist/com.example.contactlist.ViewContact}: android.database.sqlite.SQLiteException: unrecognized token: "'" (code 1): , while …
Run Code Online (Sandbox Code Playgroud)

android android-sqlite

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

Sqlite-更新现有表

我正在尝试sqlite使用更新表execSQL.但是,执行后它清除(清空)我的整个表数据而不是更新某些字段.我的代码是

private void updatedata(String name,String spingender,String cWeight,String spinunit,String htInString,String spingoal,String spinactivity,String spinexercise,String scalorie,String sprotein,String carbohydrate,String sfat) {

        DatabaseHandler helper = new DatabaseHandler(getApplicationContext());
        SQLiteDatabase db = helper.getReadableDatabase();
        System.out.println("in update data "+name + spingender + cWeight);
        String Query = "SELECT * FROM login WHERE name ='"+name+"'";
        Cursor QueryCursor = db.rawQuery(Query,null);

        // there is some record available in the cursor 
        if (QueryCursor.moveToFirst()) {
                 db.execSQL("UPDATE login SET gender='"+spingender+"',weight='"+cWeight+"',userunit='"+spinunit+"',height='"+htInString+"',goal='"+spingoal+"',activeness='"+spinactivity+"',exercise='"+spinexercise+"',calorie='"+scalorie+"',fat='"+sfat+"',carbohydrate='"+carbohydrate+"',protein='"+sprotein+"'");            
        }

        QueryCursor.close();
        db.close();
    }
Run Code Online (Sandbox Code Playgroud)

完整代码

package com.bharatwellness.mainactivities;

import java.io.ByteArrayOutputStream;
import org.json.JSONObject;
import …
Run Code Online (Sandbox Code Playgroud)

database sqlite android android-sqlite

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

创建表sqlite语法错误

引起:android.database.sqlite.SQLiteException:接近"case":语法错误(代码1):,同时编译

CREATE TABLE case ( case_id TEXT PRIMARY KEY, case_body TEXT, case_title TEXT, case_published INTEGER, case_thumbnil TEXT,case_type TEXT );
Run Code Online (Sandbox Code Playgroud)

任何人都可以告诉我是什么问题,我在Android 5.0.2上测试这个

我检查过

Android - SQLite - 语法错误(代码1):,同时编译:CREATE TABLE

还有这个

"CREATE TABLE"附近的SQLite语法错误

但无法得到答案

android android-sqlite

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

Android SQLite:表用户没有名为的列

这是我的SQLiteHandler类代码的一部分。

public class SQLiteHandler extends SQLiteOpenHelper implements DataKeyLists {

    private static final String TAG = SQLiteHandler.class.getSimpleName();

    // All Static variables
    // Database Version
    private static final int DATABASE_VERSION = 1;

    // Database Name
    private static final String DATABASE_NAME = "users";

    // Login table name
    private static final String TABLE_USER = "user";

    // query to create a login table
    private static final String QUERY_CREATE_LOGIN_TABLE = "CREATE TABLE " + TABLE_USER
            + "("
            + KEY_ID + " INTEGER PRIMARY KEY,"
            + KEY_UID …
Run Code Online (Sandbox Code Playgroud)

sqlite android android-sqlite

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

无法在android中启动/创建SQLite数据库

我正在使用一个包含玩家姓名,胜利数量和损失数量的数据库表.
然后我会从主要活动,打开,更新或其他任何内容调用数据库,最后关闭.

这工作得很好.

然后我添加了其他列并继续工作.
但是,我将游戏安装到真实设备上并且无效.
我的模拟器中没有发生这个问题,因为它有点一次又一次地覆盖现有数据库.
我决定从模拟器中取消应用程序,然后停止工作.看起来我的游戏在首次启动时创建新数据库时遇到了一些麻烦.

在做了一些测试之后,我得到了不同的错误,比如"not null constrain"或"CursorIndexOutOfBounds".
因此,我可以说问题在于数据库的创建 - 但我不知道出了什么问题.
我不认为错误是在主Activity中,因为我在那里总是做同样的事以前它曾经工作,但我已经改变了数据库.

也许问题是我在onCreate()函数中初始化值的地方,就像它没有真正给数据库赋值?

无论如何,也许我一直在关注错误的观点,所以我认为新的观点可能有所帮助.

这里有数据库类:

public class DatabaseAdapter {

private final Context context;

public static final String C_COLUMNA_ID   = "_id";
public static final String C_COLUMNA_NAME = "menu_player";
public static final String C_COLUMNA_VICTORY = "menu_victory";
public static final String C_COLUMNA_LOSS = "menu_loss";
public static final String C_COLUMNA_POINTS = "menu_points";
public static final String C_COLUMNA_UNLOCKED = "menu_unlocked";
public static final String C_COLUMNA_LEVEL = "menu_level";

private static final String …
Run Code Online (Sandbox Code Playgroud)

sqlite android android-sqlite

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

在Android中为Sample数据放置代码的位置?

我已经构建了一个Android应用程序,我insertSampleData()onCreate()主要活动的方法调用该方法.

问题是onCreate()每次启动应用程序时都会调用该方法,这会导致我的数据库填充大量样本数据.

我想在安装应用程序时只提供一次示例数据.谁能告诉我怎么做?非常感谢 !

PS:该方法insertSampleData()用于将样本数据插入到Sq-lite数据库中.

sqlite android android-sqlite

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

SQLiteConstraintException:REAL字段上的NOT NULL约束失败

我收到了有关正常工作的一段代码的崩溃报告。

异常在insertOrThrow中启动,并且是:“异常android.database.sqlite.SQLiteConstraintException:NOT NULL约束失败:HISTORY.altitude(代码1299)”。

表中所有字段都声明为NOT NULL,特别是HISTORY.altitude字段声明为“ REAL NOT NULL”

我无法理解它为NULL的可能性,因为我在insert命令上填充了几行。

任何人都有可能的想法吗?

synchronized public void addSample( long time, int method, float altitude, int accuracy )
{
    ...
        ContentValues cv = new ContentValues();

        long day = new TimeUtils.Day(time).getMillis();
        cv.put(MetaData.COLUMN_DAY, day);
        cv.put(MetaData.COLUMN_TIME, time);
        cv.put(MetaData.COLUMN_ALTITUDE, altitude);
        cv.put(MetaData.COLUMN_METHOD, method);
        cv.put(MetaData.COLUMN_ACCURACY, accuracy);

        long id = latestSample.mId;
        id = mDb.insertOrThrow(MetaData.TABLE_NAME, null, cv);  // <--- Here crash
    ...
}
Run Code Online (Sandbox Code Playgroud)

这里是用来定义表格的代码:

/* Inner class that defines the table contents */
public static abstract class MetaData implements BaseColumns
{
    public static …
Run Code Online (Sandbox Code Playgroud)

sqlite null android nan android-sqlite

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

为什么使用大写字母表示SQLite列名?

现在我正在学习Android开发,在关注我的书时,我只是想知道为什么在SQLite列名中使用大写字母?

db.execSQL("CREATE TABLE DRINK (_id INTEGER PRIMARY KEY AUTOINCREMENT, "
                    + "NAME TEXT, "
                    + "DESCRIPTION TEXT, "
                    + "IMAGE_RESOURCE_ID INTEGER);")
Run Code Online (Sandbox Code Playgroud)

通常,我使用小写字母和_仅用于Web开发.

有什么理由吗?像代码标准?

sql sqlite android android-sqlite

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

标签 统计

android ×10

android-sqlite ×10

sqlite ×6

android-room ×1

database ×1

nan ×1

null ×1

sql ×1