1
我正在使用databaseutils在我的數據庫上運行SQL查詢。基本上只是一個登錄,但我想採取登錄的人的用戶名,所以我選擇了。它可以正常工作,但是當沒有結果時會下降。如果有設置if或set的方法嗎?沒有結果的Android SQLite
if(String.valueOf(loginCount).equals("2")) {
File dbfile = new File(Global.StaticDB + "/Users");
SQLiteDatabase db = SQLiteDatabase.openOrCreateDatabase(dbfile, null);
String loginQueryCheck=(String)DatabaseUtils.stringForQuery(db,"SELECT UserID from Users where Username like '" + txtUsername.getText().toString() + "' AND Password like '" + txtPassword.getText().toString() + "'",null);
Log.e("Login Query:", loginQueryCheck);
db.close();
if(loginQueryCheck.length() > 1) {
Context context = getApplicationContext();
CharSequence text = "Logged In";
int duration = Toast.LENGTH_SHORT;
Toast toast = Toast.makeText(context, text, duration);
toast.show();
Intent ShowMainPage = new Intent(view.getContext(), MainPage.class);
startActivityForResult(ShowMainPage, 0);
} else {
Context context = getApplicationContext();
CharSequence text = "Login Failed";
int duration = Toast.LENGTH_SHORT;
Toast toast = Toast.makeText(context, text, duration);
toast.show();
}
}
如果我的名字是'Selvin',該怎麼辦? DROP TABLE USERS; - '? http://xkcd.com/327/ ...無論如何,如果沒有結果從'DatabaseUtils.stringForQuery'返回'null',然後檢查'loginQueryCheck'是否爲'null' – Selvin
感謝您的支持。關於保護沒關係,幸運的是它是一個內部應用程序。如果它是外部的,我會保護。謝謝 - Tom – TMB87
如果將stringForQuery包裝在catch塊中會發生什麼 - 是否引發了任何異常? – gheese