我正在用Java开发Android应用程序。在我的应用程序中,除其他事项外,我需要在数据库中存储地址。我的地址存储在一个名为"地址"的表中。本表定义如下:
CREATE TABLE "adresse" (
"numero_rue" TEXT,
"type_voie" TEXT,
"voie" TEXT,
"code_postal" TEXT,
"ville" TEXT
);
我试着用两种不同的方法在我的表中插入一个地址:
public void setAdresse(String numRue, String typeVoie, String voie, String codePostal, String ville) {
// First one
ContentValues values = new ContentValues();
values.put("numero_rue" , numRue );
values.put("type_voie" , typeVoie );
values.put("voie" , voie );
values.put("code_postal", codePostal);
values.put("ville" , ville );
db.insert("adresse", null, values);
// Second one
String req = "insert into adresse (numero_rue, type_voie, voie, code_postal, ville) values";
req += "("" + numRue + "","" + typeVoie + "","" + voie + "","" + codePostal + "","" + ville + "")";
db.execSQL(req);
}
我在这个方法中调用setAdresse(...)
方法:
public void valider(View paramView) {
[ data recovery without problems ]
final DatabaseAccess db = DatabaseAccess.getInstance(this.getApplicationContext());
db.open();
db.setAdresse(numRue, typeVoie, voie, codePostal, ville);
db.close();
}
我向您展示了我的构造函数,我的open()
,close()
和getInstance()
方法:
private DatabaseAccess(Context context) { this.openHelper = new DatabaseOpenHelper(context); }
public static DatabaseAccess getInstance(Context context) {
if( instance == null ) instance = new DatabaseAccess(context);
return instance;
}
public void open() { this.db = openHelper.getWritableDatabase(); }
public void close() { if( this.db != null ) this.db.close(); }
我的问题是插入数据到表不工作。我没有在日志中发现错误,我的应用程序也没有崩溃。我不认为这是一个代码错误,有人告诉我这可能与我的"驱动程序使用"有关。
你可以查看这个链接吗?这是一个用于插入sqlite表的github示例项目