Java 使用名称作为参数从数据库获取id
我想问一个关于从数据库检索数据的“基本”问题。我有一个包含三列(ID、BeerName、Time)的数据库。我想要一个与名字匹配的啤酒的ID 我曾尝试使用方法调用“getId”,但它不起作用(或者我没有正确地回忆起它) 这是我的数据库Java 使用名称作为参数从数据库获取id,java,database,android-studio,Java,Database,Android Studio,我想问一个关于从数据库检索数据的“基本”问题。我有一个包含三列(ID、BeerName、Time)的数据库。我想要一个与名字匹配的啤酒的ID 我曾尝试使用方法调用“getId”,但它不起作用(或者我没有正确地回忆起它) 这是我的数据库 static final String DATABASE_NAME = "ProvaBeers.db"; static final int DATABASE_VERSION = 1; static final String TABLE_BEERS = "Beers
static final String DATABASE_NAME = "ProvaBeers.db";
static final int DATABASE_VERSION = 1;
static final String TABLE_BEERS = "Beers";
static final String COL0 = "beer_id";
static final String COL1 = "beer_name";
static final String COL2 = "time";
这应该是我用来获取ID的方法。
beername是我想在数据库中查找的名称,its ID是我想查找的
public Integer getId(String beername){
Cursor cur = db.rawQuery("SELECT beer_id FROM "+TABLE_BEERS+" WHERE "+COL1+" = "+ beername, null);
Integer id_ = cur.getInt(0);
return id_;
}
我想让我的应用程序做的是:
我使用数据库中啤酒的名称在数据库中获取其ID。我知道通常情况正好相反,但这正是我所需要的。
提前感谢可能正在引发异常。
beerName
值应包装为单个quotes@ScaryWombat是正确的,这将失败,因为您缺少引号。但是,如果这最终是公开的,那么请确保它不受sql注入的约束,例如,如果beername是从web页面上用户输入的字段中删除的,则会发生这种情况。