我昨天花了整整一天的時間試圖調試這個,我無法取得任何進展。情況:我正在使用Phonegap爲iOS平臺創建應用程序。我正在使用一個數據庫來存儲各種數據(這是一個高爾夫記分卡應用程序)。現在我試圖在我的課程表中存儲一個對象數組,但它返回的錯誤代碼是「Error:could not prepare statment(1 near」blah「:syntax error)code:5」在Phonegap中使用JSON更新SQL值
這裏是代碼這是造成問題。
//for example
var string = JSON.stringify(['dag', 'woah']);
db.transaction(function (tx){
tx.executeSql('UPDATE courses SET holes_info = "' + string + '" WHERE course_id = "' + course_id + '"', [], nullHandler, errorHandler);
});
在我的課程表中,holes_info列設置爲數據類型TEXT。所以,如果我使字符串= JSON.stringify([1,2,3]),此代碼工作。如果我在數組中使用整數,它會起作用,但是如果我使用文本,它不會。我試着把它與單引號和雙引號混合起來,但那也沒有幫助。我的目標是存儲對象的數組,看起來像這樣...
var hole_object = {
"par": 0,
"yards": 0,
"score":0,
"drives":0,
"irons": 0,
"wedges": 0,
"putts": 0,
"strokes": 0
};
每次它說有一個「1近‘平價’:語法錯誤」。計算器上的另一個人問過類似的問題,並表示,使用轉義例如...
var string = escape(JSON.stringify(['dag', 'woah']));
但是,這並沒有幫助。所以我已經嘗試了所有我能想到的方法來實現這個目標,但沒有任何表現。如果必須的話,我會爲每個課程創建一個表來存放hole_object數組數據,但是我想看看是否有辦法讓上述工作先行。
再次感謝您的幫助!
CL,我會給一個嘗試只要我能在這裏。感謝您的建議! – Panda4Man
非常感謝,它的工作!我不知道你可以使用這樣的參數,所以謝謝你教我兩件新事物。 – Panda4Man