1

我通过示例代码自定义了一个 SQLiteOpenHelper,我想我应该在 db.execSQL(sql) 之后添加 db.close(),对吗?

public class RuleNumber extends SQLiteOpenHelper{

   private final static String DBName="smsforwardrulenumber.db";
   private final static String TableRuleNumber="rulenumber";

    public RuleNumber(Context context) {
        super(context, DBName, null, DBPublicPar.DBVersion);  
    }

    @Override
    public void onCreate(SQLiteDatabase db) {
        // TODO Auto-generated method stub
        String sql= "Create table " 
                + TableRuleNumber
                +" (numberID INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,"
                +"ruleID INTEGER NOT NULL,"
                +"numberType INTEGER NOT NULL,"
                +"number TEXT NOT NULL"
                + ");";     
        db.execSQL(sql);
    }
4

2 回答 2

1

来自Android 文档

释放对对象的引用,如果最后一个引用被释放则关闭对象。

如果您不想使用相同的实例(也称为数据库连接),请关闭它

但是如果你运行多个查询,你可以在最后关闭连接。

于 2013-11-07T07:32:31.027 回答
0

始终建议关闭任何未在活动中进一步使用的连接,以提高应用程序的性能。因此,如果您不再使用数据库连接,请关闭它。

于 2013-11-07T07:43:44.103 回答