第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

編寫 SQLite 數(shù)據(jù)庫查詢來獲取用戶并傳遞表單用戶表的正確方法是什么

編寫 SQLite 數(shù)據(jù)庫查詢來獲取用戶并傳遞表單用戶表的正確方法是什么

皈依舞 2023-06-28 16:12:01
我有用戶信息表,需要獲取用戶密碼和用戶用戶名查詢: Cursor cursor = db.rawQuery("select "+User.COL_NAME +User.COL_PASS +" from " + User.TABLE_NAME+" WHERE "+User.COL_NAME+ User.COL_PASS +"=?", new String[]{UserName , PassWord});但我不能這樣做,錯誤消息是:   Caused by: android.database.sqlite.SQLiteException: no such column: UserNamePassword (code 1): , while compiling: select UserNamePassword from users WHERE UserNamePassword=?這是我的代碼public String getUserByUserAndPassword(String UserName , String PassWord) {    String All_info="" ;    Cursor cursor = db.rawQuery("select "+User.COL_NAME +User.COL_PASS +" from " + User.TABLE_NAME+" WHERE "+User.COL_NAME+ User.COL_PASS +"=?", new String[]{UserName , PassWord});    while (cursor.moveToNext()) {        String user_1 = cursor.getString(cursor.getColumnIndex(User.COL_NAME));        String pass_1 = cursor.getString(cursor.getColumnIndex(User.COL_PASS));        All_info= user_1+"/"+pass_1;    }    cursor.close();    return All_info ;}引起原因:android.database.sqlite.SQLiteException:沒有這樣的列:UserNamePassword(代碼1):,編譯時:從用戶中選擇UserNamePassword WHERE UserNamePassword=?
查看完整描述

3 回答

?
楊__羊羊

TA貢獻1943條經(jīng)驗 獲得超7個贊

您的查詢存在語法錯誤,但首先我想提及代碼中邏輯上錯誤的其他部分。

你的查詢應(yīng)該返回0or 1row 因為我猜不存在 2 個用戶具有相同用戶名的情況,對吧?

所以不需要循環(huán)while。一個簡單的if聲明就足夠了。

另外為什么要查詢返回用戶名和密碼?

您已經(jīng)認識它們,因為您使用它們來搜索該用戶。

如果沒有用戶擁有這些數(shù)據(jù),則查詢將不會返回任何內(nèi)容。

因此,將您的查詢更改為:


Cursor cursor = db.rawQuery(

    "SELECT COUNT(*) FROM " + User.TABLE_NAME +

    " WHERE "+ User.COL_NAME + " = ? AND " + User.COL_PASS +" = ?", 

    new String[]{UserName , PassWord}

);

0如果不存在這樣的用戶,或者1存在的話,此查詢將僅返回 1 行和 1 個帶有值的整數(shù)列。

其余的代碼需要:


if (cursor.moveToFirst()) {

    int counter = cursor.getInt(0);

    if (counter > 0) {

        All_info= UserName + "/" + PassWord;

    }

}

cursor.close();

return All_info;


查看完整回答
反對 回復 2023-06-28
?
肥皂起泡泡

TA貢獻1829條經(jīng)驗 獲得超6個贊

您寫了錯誤的查詢。下面的查詢將起作用,但為什么您要使用用戶名和密碼本身編寫查詢來獲取用戶名和密碼,因此,要么在 select 語句中寫入所需的列名,要么只為整個記錄寫入 * 。

Cursor cursor = db.rawQuery("select "+User.COL_NAME +", "+User.COL_PASS +" from " + User.TABLE_NAME+" WHERE "+User.COL_NAME+ "=?" + "and" + User.COL_PASS +"=?", new String[]{UserName , PassWord});



查看完整回答
反對 回復 2023-06-28
?
吃雞游戲

TA貢獻1829條經(jīng)驗 獲得超7個贊

您的查詢是錯誤的,請通過控制臺打印查看最終查詢。你的代碼應(yīng)該是:

Cursor cursor = db.rawQuery("select "+User.COL_NAME +", "+User.COL_PASS +" from " + User.TABLE_NAME+" WHERE "+User.COL_NAME+"='"+UserName+"' AND "+ User.COL_PASS +"='"+PassWord+"'");



查看完整回答
反對 回復 2023-06-28
  • 3 回答
  • 0 關(guān)注
  • 228 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號