2014-12-11 46 views
0

您好我正在爲我的android項目創建一個sqlite幫助文件。我已經找到了幾個關於這樣做的教程,但是我在從sqlite數據庫中檢索值時遇到了問題。我收到以下錯誤信息:「無法解析構造」使用光標的sqlite更新方法

Event getEvent(int id) { 
    SQLiteDatabase db = this.getReadableDatabase(); 

    Cursor cursor = db.query(TABLE_EVENTS, new String[] { KEY_ID, KEY_EVENTNAME, KEY_EVENTTIME, 
      KEY_EVENTDATE, KEY_EVENTLOCATION, KEY_EVENTADDRESS1, KEY_EVENTADDRESS2, KEY_EVENTCITY, KEY_EVENTSTATE, KEY_EVENTZIP, KEY_EVENTTYPE }, 
      KEY_ID + "=?", new String[] {String.valueOf(id)}, null, null, null, null); 

    if (cursor != null) 
     cursor.moveToFirst(); 

    Event event = new Event(Integer.parseInt(cursor.getString(0)), cursor.getString(1),cursor.getString(2),cursor.getString(3),cursor.getString(4), 
      cursor.getString(5), cursor.getString(6),cursor.getString(7), cursor.getString(8), cursor.getString(9), 
      cursor.getString(10), cursor.getString(11)); 

    //return event 
    return event; 
} 

的錯誤是在與事件事件=新事件開始的聲明....

我不知道怎麼做,如果我需要每個表列的cursor.getString(n)?

任何幫助將是偉大的。

謝謝。

添加事件文件

//empty contructor 
public Event(){ 

} 

public Event(int id, String _eventName, String _eventTime, String _eventDate, String _eventLocation, String _eventAddress1, String _eventAddress2, String _eventCity, String _eventState, int _eventZip, String _eventType) { 
    this._id = id; 
    this._eventName = _eventName; 
    this._eventTime = _eventTime; 
    this._eventDate = _eventDate; 
    this._eventLocation = _eventLocation; 
    this._eventAddress1 = _eventAddress1; 
    this._eventAddress2 = _eventAddress2; 
    this._eventCity = _eventCity; 
    this._eventState = _eventState; 
    this._eventZip = _eventZip; 
    this._eventType = _eventType; 
} 

public Event(String _eventName, String _eventTime, String _eventDate, String _eventLocation, String _eventAddress1, String _eventAddress2, String _eventCity, String _eventState, int _eventZip, String _eventType) { 
    this._eventName = _eventName; 
    this._eventTime = _eventTime; 
    this._eventDate = _eventDate; 
    this._eventLocation = _eventLocation; 
    this._eventAddress1 = _eventAddress1; 
    this._eventAddress2 = _eventAddress2; 
    this._eventCity = _eventCity; 
    this._eventState = _eventState; 
    this._eventZip = _eventZip; 
    this._eventType = _eventType; 
} 
+0

請粘貼您的Event構造函數。順便說一句:更好的方式來獲得列的價值是'cursor.getString(cursor.getColumnIndexOrThrow(YOUR_KEY));' – 2014-12-11 00:14:41

+0

哦,親愛的,'無法解析構造函數'意味着編譯器,等待它,等待它,無法解析構造函數。 – Selvin 2014-12-11 00:15:10

+0

@PetrDuchek我添加了我的Event構造函數。謝謝,我會嘗試這種方式。 – hozdaman 2014-12-11 00:21:03

回答

0

感謝@Selvin和@Pier這是問題的一部分,我有太多的參數,另一部分是我沒有意識到,你需要cursor.getInt()代替整數的cursor.getString。

再次感謝