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

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

如何使用 SQLite SUM() 函數(shù)?

如何使用 SQLite SUM() 函數(shù)?

慕工程0101907 2021-12-30 20:25:51
我的問題最近,我通過 android studio 運(yùn)行了我的一些 Java 代碼 [Open Helper],它給出了以下錯誤: 我有一個帶有 android(java 代碼)的登錄頁面,當(dāng)時間必須是密碼時,我的問題只是字符串,將是真的。但如果是輸入數(shù)字密碼,就不對了。 代碼 SqlOpenHelperpackage com.example.root.sql2;import android.content.ContentValues;import android.content.Context;import android.database.Cursor;import android.database.sqlite.SQLiteDatabase;import android.database.sqlite.SQLiteOpenHelper;import android.support.annotation.Nullable;public class db extends SQLiteOpenHelper {    public db(Context context) {        super(context, "login.db", null, 1);    }    @Override    public void onCreate(SQLiteDatabase sqLiteDatabase) {        sqLiteDatabase.execSQL("CREATE TABLE USER(ID INTEGER PRIMARY KEY AUTOINCREMENT ,NAME TEXT, PASSWORD TEXT)");    }    @Override    public void onUpgrade(SQLiteDatabase sqLiteDatabase, int i, int i1) {        sqLiteDatabase.execSQL("DROP TABLE IF EXISTS USER");        onCreate(sqLiteDatabase);    }    public boolean insert (String name , String password){        SQLiteDatabase db = getWritableDatabase();        ContentValues contentValues = new ContentValues();        contentValues.put("NAME", name);        contentValues.put("PASSWORD", password);        long ins = db.insert("USER","",contentValues);        if (ins == -1) return false;        else return true;    }    public boolean login(String name , String password){        SQLiteDatabase db = getReadableDatabase();        Cursor cursor = db.rawQuery("SELECT * FROM USER WHERE NAME=? AND PASSWORD=?", new String[] {name , password});        cursor.moveToFirst();        if (cursor.getCount()>0) return false;        else return true;    }}“密碼”如果是字符串,則密碼為真,但“密碼”如果是字符串,則密碼(數(shù)字)則不為真... *
查看完整描述

1 回答

?
鳳凰求蠱

TA貢獻(xiàn)1825條經(jīng)驗(yàn) 獲得超4個贊

我相信你的主要問題是你的邏輯顛倒了。


你基本上是說使用if (cursor.getCount()>0) return false;; 如果搜索用戶找到該用戶,則返回 false。


我相信你想要 if (cursor.getCount()>0) return true;


然而,盡管這不是問題,但使用moveToFirst并沒有增加任何用處。此外,您可能會遇到問題,因?yàn)槟鷽]有關(guān)閉光標(biāo)。


我建議你也許使用:-


public boolean login(String name , String password){

    SQLiteDatabase db = getReadableDatabase();

    Cursor cursor = db.rawQuery("SELECT * FROM USER WHERE NAME=? AND PASSWORD=?", new String[] {name , password});

    int count = cursor.getCount();

    cursor.close();

    return count > 0;

}

這將獲取計數(shù),關(guān)閉游標(biāo),然后如果計數(shù)大于 0(找到用戶密碼組合)則返回 true,否則返回 false;


查看完整回答
反對 回復(fù) 2021-12-30
  • 1 回答
  • 0 關(guān)注
  • 255 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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