2016-07-22 2 views
-1

나는 이런 식으로 사용했지만 무슨 일이 있었는지 모르겠다. 아무 것도 보여주지 않았다. 데이터베이스 자바 : 는 SO 방법으로 내 코드에 AND 연산자를 사용할 수 있습니다안드로이드 데이터베이스에서 AND 연산자를 사용하는 방법

public boolean loginstatus(String TABLE_NAME,String COL_3,StringCOL_4,String log,String pss) 
{ 
try { 
    SQLiteDatabase db=this.getReadableDatabase(); 
    Cursor cursor=db.rawQuery("SELECT "+COL_4+COL_3+" FROM 
    "+TABLE_NAME+" WHERE "+COL_4+"='"+log+" AND 
    "+COL_3+"=,"+pss+"'",null); 

    if (cursor.moveToFirst()) { 
     db.close(); 
     Log.d("Record Already Exists", "Table is:"+TABLE_NAME+" 
       ColumnName:"+COL_4); 
     return true;//record Exists 
    } 

이는 활동 클래스 코드 :

public void onClick(View view) { 
    try { 

     boolean recordExists = 
      myDb.loginstatus(DatabaseOperation.TABLE_NAME,DatabaseOperation.COL_3,user.getText().toString(),DatabaseOperation.COL_4,us.getText().toString()); 

     if (recordExists) { } 
+0

AND 연산자 이전에 작동 했습니까? 그리고이게 효과가 있니? "+ COL_4 +"= ""+ 로그 + "AND"+ COL_3 + "=" "+ pss +" ' ", null ("SELECT "+ COL_4 +", "+ COL_3 +); – Danieboy

답변

1

나는 당신이 당신의 쿼리에 쉼표를 누락 생각합니다. SELECT "+COL_4+COL_3+" FROM을 보면 열 이름을 함께 추가 한 것을 볼 수 있습니다. 해당 열은 아마 존재하지 않기 때문에

SELECT usernameemail FROM ... 

그래서 당신이 어떤 결과를 얻을 수 없습니다 :

그래서 COL_4는 사용자 이름 싶게 col_3이 경우 쿼리에 쿼리합니다 이메일입니다. 너는 또한 실종되었다. 다음과 같이 검색어를 수정 해보십시오.

Cursor cursor = db.rawQuery("SELECT " + COL_4 + "," + COL_3 + " FROM " + TABLE_NAME + " WHERE" + COL_4 + " = '" + log + "' AND " + COL_3 + " = '" + pss + "'",null); 
+0

"="근처에 오류가 표시됩니다. 구문 오류 (코드 1) : 컴파일 중 : SELECT 12, PASS FROM student_tableWHERE12 = 'CONTACT'AND PASS = '12' –

+0

SQL 논리에 결함이 있습니다. 정확히 데이터베이스에서 선택하려고하는 것은 무엇입니까? 사용자 이름과 비밀번호? 나는 또한 내 대답에 위의 공간을 잊어 버렸습니다. – babadaba

+0

이 위의 오류가 왜 –

관련 문제