Articles of sql

Android Sqlite – “没有这样的表”错误

我正在尝试了解Sqlite数据库,但我真的很讨厌处理任何后端的东西,充满激情。 我已经用一个看似简单的问题撞墙了。 以下是我认为来自DatabaseHelper类的代码 public class DatabaseHelper extends SQLiteOpenHelper { private static final String DATABASE_NAME = “Library”; public static final String TABLE_NAME = “books”; public static final String TITLE = “title”; public static final String AUTHOR = “author”; public static final String ISBN = “isbn”; public DatabaseHelper(Context context) { super(context, DATABASE_NAME, null, 1); } @Override public […]

如何在sqlite(android)和查询中创建一个sql视图(CREATE VIEW)?

所以我有一个表,我想使用sql中的“CREATE VIEW”创建另一个表。 我需要复制一份我正在使用的表格,这样我才能使用它2倍。 我的SQL查询必须是这样的: SELECT A.time AS Start, B.time AS Stop FROM time A, time B WHERE A.id+1=B.id AND A.bool=1 AND B.bool=0 我的初始表是: String sql=”create table “+TABLE+” ( “+C_ID+” INTEGER PRIMARY KEY AUTOINCREMENT, ” +C_TIME+” TEXT, “+C_BOOL+” NUMERIC)”; 所以任何人都有任何ideea(在我的代码中)我可以创建视图,我如何在android中查询它? 如果需要,我可以提供代码 谢谢 :)

Android – 通过国家代码与号码联系

从传入短信中检索移动号码时,会附加国家/地区代码。 现在,因为数据库中的匹配联系人可能不包含国家代码来获取我正在使用的联系人姓名: public static String getContactName(String number, Context context) { try { Uri personUri = Uri.withAppendedPath( ContactsContract.PhoneLookup.CONTENT_FILTER_URI, Uri.encode(number.trim())); String selection = PhoneLookup.NUMBER + ” LIKE %” + number.trim() + “%”; Cursor cur = context.getContentResolver().query(personUri, new String[] { PhoneLookup.DISPLAY_NAME }, selection, null, null); if (cur.moveToFirst()) { String str = cur.getString(cur.getColumnIndex(PhoneLookup.DISPLAY_NAME)); cur.close(); return str; } } catch […]

查看Android上由ORMLite生成的SQL

我正试图在我的Android应用程序中使用我的ORMLite查询调试一个奇怪的问题,如果我能看到正在生成的SQL,那将非常方便。 有没有办法将查询的SQL输出为字符串? 是否在执行查询之前或之后无关紧要。 例如,我有 contactQb.where().eq(“enabled”, true); 我想看看为QueryBuilder生成了什么SQL。

如何在sqlite for android中实现一对多对象数据库

我对SQLite和SQL很陌生,我正在努力解决以下问题: 我的应用程序将显示社区成员列表。 如果我点击一个成员,我可以看到成员发布的post列表。 post是具有名称,时间和消息的对象。 如何将其存储在SQLite数据库中,以便我可以通过userid查询数据库并获取特定用户的post列表。 我有一个包含这些列的Users表: USER_ID | NAME 我有一个包含这些列的推文表: USER_ID | NAME | TIME | MESSAGE 我的问题是: link这两个表的最佳方法/结构是什么? 我是否为每个用户创建一个新的推文表,或者我是否将所有推文存储在一个长表中,首先是用户1的推文,然后是用户2等? 我不一定要寻找代码转储,而是寻找逻辑的解释。

android游标如何从列中获取空值

我保留所有数据作为对象存储在数据库中(例如,而不是int我使用Integer)以保持空值。 如果Object为null,将数据保存到SQLite数据库时,我使用: statement.bindNull(index); 当我使用SQLiteManager查看我的数据库时,似乎正确存储了值(具有空值的Long列的空字段)。 但是如何从游标保存空信息中读取值? 如果我使用: cursor.getLong(7) 对于我有null的列,而不是null,我得到0.因为getLong返回longtypes值而不是Long,这并不奇怪。 但是我找不到任何返回Long的函数。 有帮助吗? 当然我还需要为其他对象(整数,字符串等)保留函数。

我怎样才能检查我的sqlite表中是否有数据?

编辑,根据下面的答案稍微改变了代码,但仍然没有工作。 我还添加了一条日志消息,告诉我getCount是否返回> 0,它是,所以我认为我的查询可能有问题? 或者我使用光标.. 我已经创建了一个表,我想检查它是否为空,如果它是空的,我想运行一些插入语句(存储在数组中)。 下面是我的代码,虽然我没有错误,当我拉出.db文件时,我可以看到它不起作用。 你会怎么解决这个问题? public void onCreate(SQLiteDatabase db) { Log.i(“DB onCreate”, “Creating the database…”);//log message db.execSQL(createCATBUDTAB); db.execSQL(createTWOWEETAB); try{ Cursor cur = db.rawQuery(“SELECT COUNT(*) FROM CAT_BUD_TAB”, null); if (cur.getCount() > 0){ Log.i(“DB getCount”, ” getcount greater than 0″);//log message //do nothing everything’s as it should be } else{//put in these insert statements contained […]

Android SQLite查询,插入,更新,删除,总是需要在后台线程?

我目前使用Loaders从我的ContentProvider中获取数据(以启用我的游标的自动更新)。 这种方法对于查询数据库是直截了当的,但它似乎不适合任何其他数据库操作(例如插入,更新,删除)。 我的问题是: 是否所有SQLite操作都需要在后台线程上,或者在UI线程上执行插入,更新或删除单行等简单操作是否安全? 什么是一个很好的设计模式,以确保所有查询都通过后台线程? 我想实现AsyncTask,我应该创建一个SuperTask,以便扩展AsyncTask并执行每个SQLite操作吗? (额外奖励:你能提供一些简单的例子吗?) 谢谢!

Room数据库中具有相同types对象的多个表

我正在使用Room作为应用程序的数据库。 我有一个场景,其中某种types的Object需要存储在单独的表中。 举个例子,让我们拿一个名为Book.java的Object 现在,我想要两个SQL表: Books_Read Books_To_Read 请忽略SQL DB的任何命名约定 – 这只是一个例子 问题 通常,只需在Book.java类中使用@Entity(tableName = “Books_Read”)并使用一个将使用该表名的DAO类。 事情是; 那么我怎样才能使用相同的Book.java类存储在Books_To_Read表中? 因为我已经将@Entity(tableName = “Books_Read”)为Book.java类的一部分,所以我看不到在哪里为Book.java类定义Books_To_Read表 我能够想出的唯一解决方案是创建一个新类 – 让我们称之为BookToRead.java ,它扩展了Book.java并定义了@Entity(tableName = “Books_To_Read”)中的一个新Book.java和@Entity(tableName = “Books_To_Read”) 。类。 题 有没有更好的方法来做到这一点,或者这是处理它的预期方法?

具有多个条件的SQL Android Query配方

我正在编写一个Android应用程序,它试图根据两个不同的标准从数据库中提取数据。 锻炼和锻炼领域都是数据库中的字符串。 我想返回一个仅包含满足BOTH条件的行的游标。 哦,我也希望它按日期顺序排序…… public Cursor graphQuery(String exercise, String workout) { Cursor cursor = mDb.query(DATABASE_TABLE, new String [] {KEY_DATE, KEY_REPS, KEY_REPS_FEEL, KEY_WEIGHT, KEY_WEIGHT_FEEL}, “KEY_WORKOUT=” + workout + “AND” + “KEY_EXERCISE=” + exercise, null , null, null, KEY_DATE); return cursor; } 我是一个新的android编码器,非常感谢你的帮助!