我需要在db.execSQL(sql)之后添加db.close()吗?

时间:2013-11-07 07:28:46

标签: android

我通过示例代码自定义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);
    }

2 个答案:

答案 0 :(得分:1)

来自Android Documentation

  

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

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

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

答案 1 :(得分:0)

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