将文本框中的值插入SQLite数据库

时间:2010-12-03 14:57:34

标签: android eclipse sqlite android-emulator database-connection

我创建了一个Android应用程序,要求用户注册他的用户名和密码。我的问题是,如何将输入值(文本框)插入我的SQLite数据库?

提前致谢。

1 个答案:

答案 0 :(得分:1)

首先,如果您还没有http://developer.android.com/guide/topics/data/data-storage.html#db,请阅读SQLite上的Android文档。

然后假设您在数据库端正确设置了所有内容,下一步就是构建您的SQL以使其看起来像这样......

private static final String INSERT_SQL = "insert into " + TABLE + " (username, password) " + 
                                                      "   values    (?,        ?)";

然后你需要实际插入...

public void doInsert(String username, String password) {
    final SQLiteDatabase  db = getWritableDatabase();

    SQLiteStatement insert_stmt = null;

    try {
        insert_stmt = db.compileStatement(INSERT_SQL);

        insert_stmt.bindString(1,   username);
        insert_stmt.bindString(2,   password);
        insert_stmt.executeInsert();
    }
    finally {
        if (insert_stmt != null) insert_stmt.close();
    }
}

这假设doInsert位于扩展SQLiteOpenHelper的类中,因此它可以使用getWritableDatabase,但只要您拥有SQLiteOpenHelper,就可以将doInsert移动到任何您喜欢的位置。

如果你需要从EditText获取值,那么这应该让你去...

final EditText input = (EditText) findViewById(R.id.textId);
final String   txt   = input.getText().toString();