[英]Android SQLITE search column
我正在尝试在数据库中搜索字符串。 我对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());
if (c.moveToFirst())
DisplayContact(c);
else
Toast.makeText(this, "No contact found", Toast.LENGTH_LONG).show();
db.close();
}
这将用字符串“ A000021”填充一个编辑文本,然后使用该编辑文本的内容作为搜索字符串在数据库帮助器“ getAsset”中运行该过程
获取资产的过程如下
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,它是一个文本列,我正在寻找返回资产编号为A000021的记录
有什么想法我要去哪里吗?
尝试使用类似功能
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 + " like '" + strname+"' ", null,null, null, null, null);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.