2011-12-12 2 views
0

정말이 바보 같은 질문을하는 것이 유감입니다. 지난 1 시간 동안이 오류가 발생하여 내 눈에서 문제를 찾을 수 없었습니다. 누군가가 내가 정말로 감사 할만한 문제를 찾도록 도울 수 있다면. 이 블로그를 처리하는 오류가 아니라는 것을 알고 있지만 선택의 여지가 없습니다. 나는 다음과 같은 오류를 얻고있다sqlite를 사용하는 구문 오류

private static final String DATABASE_NAME = "RCdata"; 
private static final String DATABASE_TABLE = "events"; 
private static final int DATABASE_VERSION = 1; 
private static final String TAG = "RCDataBaseAdapter"; 
private static final String KEY_ROWID = "_id"; 
private static final String KEY_EVENT = "eventsname"; 
private static final String KEY_DESCRIPTION ="description"; 

// Database creation sql statement 
private static final String DATABASE_CREATE_EVENTS = 
     "create table events (_id integer primary key autoincrement, " 
     + "eventsname text not null, " 
     + "description text not null);"; 


private Context context; 
private DatabaseHelper DBHelper; 
private SQLiteDatabase db; 
     public RCDatabaseAdapter(Context ctx) 
{ 
    //super(ctx, DATABASE_NAME, null, DATABASE_VERSION); 
    this.context = ctx; 
    DBHelper = new DatabaseHelper(context); 
    // TODO Auto-generated constructor stub 
} 

private static class DatabaseHelper extends SQLiteOpenHelper 
{ 
    DatabaseHelper(Context context) 
    { 
     super(context, DATABASE_NAME, null, DATABASE_VERSION); 
    } 

@Override 
public void onCreate(SQLiteDatabase db) { 
    // TODO Auto-generated method stub 
    db.execSQL(DATABASE_CREATE_EVENTS); 
    //db.execSQL(DATABASE_CREATE_Priests); 


} 

@Override 
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { 
    // TODO Auto-generated method stub 
    Log.w(TAG, "Upgrading database from version " + oldVersion 
      + " to " 
      + newVersion + ", which will destroy all old data"); 
     db.execSQL("DROP TABLE IF EXISTS Events"); 
     onCreate(db); 

} 
} 
//---opens the database--- 
public RCDatabaseAdapter open() throws SQLException 
{ 
    db = DBHelper.getWritableDatabase(); 
    return this; 
} 

//---closes the database---  
public void close() 
{ 
    DBHelper.close(); 
} 

public long insertEvent(String eventname, String description) 
{ 
    ContentValues initialValues = new ContentValues(); 
    initialValues.put(KEY_EVENT, eventname); 
    initialValues.put(KEY_DESCRIPTION, description); 

    return db.insert(DATABASE_TABLE, null, initialValues); 

} 


//---deletes a particular event--- 
public boolean deleteEvent(long rowId) 
{ 
    return db.delete(DATABASE_CREATE_EVENTS, KEY_ROWID + 
      "=" + rowId, null) > 0; 
} 


public Cursor getAllTitles() 
{ 
    return db.query(DATABASE_CREATE_EVENTS, new String[] { 
      KEY_ROWID, 
      KEY_EVENT, 
      KEY_DESCRIPTION}, 
      null, 
      null, 
      null, 
      null, 
      null); 
} 

//---retrieves a particular title--- 
public Cursor getEvent(long rowId) throws SQLException 
{ 

    Cursor mCursor = 
      db.query(true, DATABASE_CREATE_EVENTS, new String[] { 
        KEY_ROWID, 
        KEY_EVENT, 
        KEY_DESCRIPTION      
        }, 
        KEY_ROWID + "=" + rowId, 
        null, 
        null, 
        null, 
        null, 
        null); 
    if (mCursor != null) { 
     mCursor.moveToFirst(); 
    } 
    return mCursor;     


} 

: getAllTitles

near “create”: syntax error: , 
while compiling: SELECT _id, 
eventsname, description 
FROM create table events (_id 
integer primary key 
autoincrement, eventsname 
text not null, description text 
not null); 
+1

'DATABASE_CREATE_Events'을 (를) 사용하는 코드를 추가 할 수 있습니까? 'create' 쿼리를 전달하는 동안 테이블에서 데이터를 선택하려고하는 것 같습니다. – abhinav

+0

위 코드를 편집했습니다. 귀하의 초기에 감사드립니다. – user1031746

+0

DATABASE_CREATE_EVENTS 이름을 대문자로 변경했는데 문제가 될지 모르지만 여전히 같은 오류가 발생했습니다. – user1031746

답변

1

당신의 방법, deleteEvent, getEvent 모든 기록을 얻기 위해 쿼리에서 create 구문을 사용 후 나의 DB 코드입니다. 적절한 구문을 query 메서드에 전달해야합니다. 문서 here 예를 들어, getEvent 메서드는 다음과 같이 작동 할 수 있습니다.

db.query(true, "events", new String[] { 
        KEY_ROWID, 
        KEY_EVENT, 
        KEY_DESCRIPTION      
        }, 
        KEY_ROWID + "=" + rowId, 
        null, 
        null, 
        null, 
        null, 
        null); 
+0

오, 정말 고마워. 나는이 코드를 http://www.devx.com/wireless/Article/40842/1763?supportItem=4에서 가져왔다. 나는 안드로이드를 처음 사용하고 처음으로 데이터베이스에 연결하려고한다. 그 차이가 왜 나는지 궁금합니다. 알아내는 것이 어려울 것이라고 확신합니다. 그것은 효과가 있었다. 예를 통해 배울 수있는 데이터베이스 용 웹 사이트가 있습니까? 예를 들어 데이터베이스에 대해 여러 개의 테이블을 가지고 있다면 각 테이블에 대해 get, insert, update 메서드를 모두 만들어야합니까 ?? – user1031746

관련 문제