我构建了一个使用sq-lite数据库的应用程序,并在运行时在应用程序中创建了一个按钮,按下时添加了一个新的Edit-Text我想知道如何在新的Edit-Text中保存值进入我的数据库?请帮帮我
答案 0 :(得分:1)
使用此方法:
public long saveData(Context context, String editTextValue) {
long x = -1;
appDb = new AppDatabase(context);
sqliteDb = appDb.getWritableDatabase();
ContentValues values = new ContentValues();
values.put("monthOfBirth", editTextValue);
try {
if (sqliteDb.isOpen()) {
x = sqliteDb.insert("password", null, values);
if (x >= 0)
{
Toast.makeText(context, "Password Save", Toast.LENGTH_SHORT).show();
}
}
} catch (Exception exc) {
exc.printStackTrace();
}
return x;
}
在button's onClickListener()
button.setOnCLickListener(new View.OnClickListener())
{
@override
public void onClick(View v)
{
if(editText.getText().toString.equals(""))
{
Toast.makeText(context, "Fill Value first.", Toast.LENGTH_SHORT).show();
return;
}
saveData(YourActivity.this, editText.getText().toString());
}
}
答案 1 :(得分:0)
您是否创建了扩展SQLiteOpenHelper的类?如果你有,那么使用构造函数并获取该类的对象:
dbHelper = new SQLiteHelper(context, getString(R.string.db_name_dev), null, DB_VERSION);
然后例如:
SQLiteDatabase db = dbHelper.getWritableDatabase();
ContentValues cv = new ContentValues();
cv.put("term", term);
db.insert("Search", null, cv);
答案 2 :(得分:0)
只需创建一个包含SQL的插入查询的String。然后调用方法
db.execSQL(sql);
在你的datebase refence变量上。
String sql =
"INSERT INTO <TABLE_NAME> VALUES('this is','03/04/2005','5000','tran','y')" ;
db.execSQL(sql);