Android SQLITE搜索列
我试图在数据库中搜索字符串。我是SQLite的新手,请原谅我的无知 我按如下方式设置呼叫Android SQLITE搜索列,android,sql,search,Android,Sql,Search,我试图在数据库中搜索字符串。我是SQLite的新手,请原谅我的无知 我按如下方式设置呼叫 public void GetContact() { //---get a contact--- EditText mEdit = (EditText)findViewById(R.id.editTextnum); mEdit.setText("A000021"); db.open(); Cursor c = db.getAsset(mEdit.getText());
public void GetContact() {
//---get a contact---
EditText mEdit = (EditText)findViewById(R.id.editTextnum);
mEdit.setText("A000021");
db.open();
Cursor c = db.getAsset(mEdit.getText());
if (c.moveToFirst())
DisplayContact(c);
else
Toast.makeText(this, "No contact found", Toast.LENGTH_LONG).show();
db.close();
}
public Cursor getAsset(Editable strname) throws SQLException
{
Cursor mCursor =
db.query(true, DATABASE_TABLE, new String[] {KEY_ROWID,KEY_NAME, KEY_EMAIL,KEY_FLOOR,KEY_ROOMID,KEY_SCHOOLID,KEY_CONDITION,KEY_ASSETNUMBER,KEY_ASSETCATEGORY,KEY_ASSETTYPE,KEY_ADDITIONAL,KEY_MANUFACTURER,KEY_TYPE,KEY_SERIAL,KEY_INFO,KEY_QUANTITY,KEY_COMMENTS,KEY_INSTALL,KEY_VERIFIED}, KEY_ASSETNUMBER + "=" + strname, null,null, null, null, null);
if (mCursor != null) {
mCursor.moveToFirst();
}
return mCursor;
}
这将使用字符串“A000021”填充edittext,然后使用edittext的内容作为搜索字符串在DB助手“getAsset”中运行该过程
获取资产的过程如下所示
public void GetContact() {
//---get a contact---
EditText mEdit = (EditText)findViewById(R.id.editTextnum);
mEdit.setText("A000021");
db.open();
Cursor c = db.getAsset(mEdit.getText());
if (c.moveToFirst())
DisplayContact(c);
else
Toast.makeText(this, "No contact found", Toast.LENGTH_LONG).show();
db.close();
}
public Cursor getAsset(Editable strname) throws SQLException
{
Cursor mCursor =
db.query(true, DATABASE_TABLE, new String[] {KEY_ROWID,KEY_NAME, KEY_EMAIL,KEY_FLOOR,KEY_ROOMID,KEY_SCHOOLID,KEY_CONDITION,KEY_ASSETNUMBER,KEY_ASSETCATEGORY,KEY_ASSETTYPE,KEY_ADDITIONAL,KEY_MANUFACTURER,KEY_TYPE,KEY_SERIAL,KEY_INFO,KEY_QUANTITY,KEY_COMMENTS,KEY_INSTALL,KEY_VERIFIED}, KEY_ASSETNUMBER + "=" + strname, null,null, null, null, null);
if (mCursor != null) {
mCursor.moveToFirst();
}
return mCursor;
}
当我运行它时,它说
android.database.sqlite.SQLiteException: no such column: A000021 (code 1): , while compiling: SELECT DISTINCT _id, SITE, BUILDING, FLOOR, ROOMID, SCHOOLID, CONDITION, ASSETNUMBER, ASSETCATEGORY, ASSETTYPE, ADDITIONAL, MANUFACTURER, TYPEMODEL, SERIALNUMBER, INFORMATION, QUANTITY, COMMENTS, INSTALLDATE, VERIFIED FROM contacts WHERE ASSETNUMBER=A000021
该列称为ASSETNUMBER。它是一个文本列,我希望返回ASSETNUMBER为A000021的记录
知道我哪里出错了吗?试着使用函数
您可以发布用于创建表的代码吗?非常感谢,虽然它很简单,但我的原始查询缺少单引号