繁体   English   中英

Android SQLITE搜索列

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM