【问题标题】:Inserting values from a textbox into SQLite database将文本框中的值插入 SQLite 数据库
【发布时间】:2010-12-03 14:57:33
【问题描述】:

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

提前致谢。

【问题讨论】:

  • 你卡在哪里了,到底是什么问题?
  • 我有这段代码,但事实证明 VALUES 不适用于我制作的文本框。 db = "INSERT INTO login (user_name, user_pass) " + "VALUES (" + field_one + ", " + field_two + ")"; Log.v("测试保存", db); SQLiteDatabase.rawQuery(db, null); }

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


【解决方案1】:

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

然后假设您在 DB 端正确设置了所有内容,下一步是构建您的 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();

【讨论】:

    猜你喜欢
    • 2011-05-05
    • 1970-01-01
    • 2015-03-10
    • 1970-01-01
    • 1970-01-01
    • 2011-02-04
    • 1970-01-01
    • 2012-01-20
    • 2017-11-21
    相关资源
    最近更新 更多