首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用SQLite (Android)创建条目

使用SQLite (Android)创建条目
EN

Stack Overflow用户
提问于 2014-09-09 04:21:52
回答 1查看 47关注 0票数 0

我在JUnit安卓测试中测试insert方法时遇到了问题,数据库中没有保存enrty:

代码语言:javascript
复制
public long save(TAV t) {
    ContentValues v = new ContentValues();
    v.put(TAV_TITRE, t.getTitle());
    v.put(TAV_DATE, t.getDate());
    v.put(TAV_DESCRIPTION, t.getDescription());
    return db.insert(TAV_TABLE, null, v);
}
//this is the JUnit Test Method 
public void testAddition() {
    setUp();
    TAV t = new TAV("titre", "date", "decsritpion");
    m.open();
    m.save(t);
    Log.i(tag, "insertion");
    testShowAll();
}

请帮帮我!

EN

回答 1

Stack Overflow用户

发布于 2014-09-09 04:27:31

save()方法中,确保创建一个数据库实例,如SQLiteDatabase db = this.getWritableDatabase();.And remove return from return db.insert(TAV_TABLE, null, v);,即使用

代码语言:javascript
复制
public void save(TAV t) {
SQLiteDatabase db = this.getWritableDatabase();
ContentValues v = new ContentValues();
v.put(TAV_TITRE, t.getTitle());
v.put(TAV_DATE, t.getDate());
v.put(TAV_DESCRIPTION, t.getDescription());
db.insert(TAV_TABLE, null, v);
}

SQLiteDatabase Documents

public long insert (String table,String nullColumnHack,ContentValues values)返回新插入行的行ID,如果发生错误,则返回-1

因此,如果您的目的只是将一行添加到数据库中,那么您的方法不需要返回anything.So,只需将方法的返回类型设置为void并在其中使用db.insert即可。

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

https://stackoverflow.com/questions/25732548

复制
相关文章

相似问题

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