E / SQLiteLog:(1)没有这样的表

时间:2018-08-23 17:27:24

标签: android sqlite

此SQLite创建语法有什么问题? 我有另一个与此非常相似的类,但是具有不同的表名和属性。

async function
    getAdjacentRange() {
    await Word.run(async (context) => {
        var ccs = context.document.contentControls;
        ccs.load("items");
        await context.sync();

        let cc = ccs.getFirstOrNullObject();

        //The starting point of the content control so that 
        //the range can be extended backwards
        let ccRange = cc.getRange("Start");

        //The content control must be in a paragraph, so get that paragraph's
        //starting point so that the range can be extended in that direction
        let ccParas = ccRange.paragraphs; cc.load("text,range,paragraphs");
        let ccPara = ccParas.getFirst();
        ccParas.load("items")
        let paraRange = ccPara.getRange("Start");
        let rng = paraRange.expandTo(ccRange);

        //Now it's possible to get the last word in the extended range
        let em = [" "];
        console.log(em.length.toString());
        let words = rng.getTextRanges(em, true);
        words.load("items");
        await context.sync();
        let nrWords = words.items.length;
        //returns a Range object, from which you can get the style info
        let lastWord = words.items[nrWords - 1];

        await context.sync();
        console.log(cc.text + "/" + "nr Words: " + nrWords + "last word: " + lastWord.text);
})
    }

应该是什么问题?

public class SQLiteInvoicedItems extends SQLiteOpenHelper {

public static final int SYNC_STATUS_OK = 0;
public static final int SYNC_STATUS_FAILED = 1;

public static final String DATABASE_NAME = "billing";
public static final String TABLE_NAME = "invoiced_items";

public static final String INVOICED_ID = "invoice_id";
public static final String ITEM_NAME = "item_name";
public static final String QUANTITY = "quantity";
public static final String SUB_TOTAL = "sub_total";
public static final String SYNC_STATUS = "syncstatus";

private static final int DATABASE_VERSION = 1;

private static final String CREATE_TABLE = "CREATE TABLE IF NOT EXISTS " + TABLE_NAME + "(item_id INTEGER PRIMARY KEY autoincrement, " +
        INVOICED_ID + " integer, " +
        ITEM_NAME + " text, " +
        QUANTITY + " REAL, " +
        SUB_TOTAL + " REAL, " +
        SYNC_STATUS + " integer);";
private static final String DROP_TABLE = "drop table if exists " + TABLE_NAME;

}

1 个答案:

答案 0 :(得分:0)

  

我有另一个与此非常相似的类,但是具有不同的表名和属性

来自评论:

  

它也在同一计费数据库中运行

SQLiteOpenHelper管理数据库文件,而不管理数据库表。如果您有两个用于同一数据库文件名的助手,则仅调用第一个助手的onCreate()

将两个表都放在同一个帮助器中,例如execSQL()中有两个onCreate()调用,每个表创建一个。您可以卸载应用程序以删除旧的数据库文件,然后使用更新的帮助程序重新创建它。

另请参阅:When is SQLiteOpenHelper onCreate() / onUpgrade() run?