简体   繁体   English

Android SQLITE搜索列

[英]Android SQLITE search column

I'm trying to search a database for a string. 我正在尝试在数据库中搜索字符串。 Im very new to SQLite so please excuse my ignorance I setup the call as follows 我对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();
}

This fills a edittext with the string "A000021" and then runs the procedure in the DB helper "getAsset" using the contents of the edittext as the search string 这将用字符串“ A000021”填充一个编辑文本,然后使用该编辑文本的内容作为搜索字符串在数据库帮助器“ getAsset”中运行该过程

The get Asset procedure is as follows 获取资产的过程如下

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;
}

when I run its says 当我说

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

The column is called ASSETNUMBER it is a text column and im looking to return the record that has an assetnumber of A000021 该列称为ASSETNUMBER,它是一个文本列,我正在寻找返回资产编号为A000021的记录

Any ideas where I'm going wrong? 有什么想法我要去哪里吗?

尝试使用类似功能

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