如何在运行时将数据插入sq-lite数据库

时间:2013-10-29 12:48:19

标签: android sqlite insert runtime

我构建了一个使用sq-lite数据库的应用程序,并在运行时在应用程序中创建了一个按钮,按下时添加了一个新的Edit-Text我想知道如何在新的Edit-Text中保存值进入我的数据库?请帮帮我

3 个答案:

答案 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);