का उपयोग कर एक स्क्लाइट डेटाबेस में पंक्तियां जोड़ना मैंने एक छोटा फोनगैप एप्लिकेशन बनाया है जो एक्सएमएल के माध्यम से अजाक्स कॉल से समाचार डेटा प्राप्त करता है। यह ठीक काम करता है, लेकिन मैं डेटा को ऑफ़लाइन पढ़ने की अनुमति देने के लिए डेटा को डेटाबेस तालिका में संग्रहीत करना चाहता हूं।लूप (फोनगैप)
तो जब अजाक्स कॉलबैक डेटा के माध्यम से लूप करता है, तो मैं इसके साथ एक वैश्विक समाचार वस्तु भरता हूं और फिर यह जांचने के लिए एक फ़ंक्शन को कॉल करता हूं कि डेटा पहले से ही डेटाबेस में संग्रहीत है या नहीं। यदि नहीं, तो इसे डेटाबेस समाचार तालिका में डाला जाना चाहिए।
समस्याहै कि सौदे में तालिका में खबर स्टोर करने के लिए है, ऐसा लगता है मेरी खबर वस्तु की तरह अब मौजूद नहीं है, क्योंकि मैं संदेश मिलता है:
Uncaught TypeError: Cannot read property 'title' of undefined in ...
तो मुझे लगता है कि सुनिश्चित कर सकते इस काम? यहाँ भाग के कोड जहां मैं समाचार का चयन करें और जाँच करना चाहते हैं अगर यह पहले से ही वहाँ है:
// Check if a news from the internet already exists in the database; If not, insert it
function checkNewsInDB(){
db.transaction(function(tx){
tx.executeSql("SELECT * FROM NEWS", [], checkSuccess, dbErrorCB);
}, dbErrorCB, dbSuccessCB);
}
// Result Callback from the News Check
function checkSuccess(ctx, result){
var len = result.rows.length;
var found = false;
for(var n = 0; n < newsContainer.length; n++){
for(var r = 0; r < len; r++){
if(result.rows.item(r).n_title == newsContainer[n].title
&& result.rows.item(r).n_pubdate == newsContainer[n].pubdate){
found = r;
}
}
if(found == false){
db.transaction(function(tx){
tx.executeSql("INSERT INTO NEWS (n_title, n_link, n_creator, n_pubdate, n_description) VALUES (?,?,?,?,?)", [newsContainer[n].title, newsContainer[n].link, newsContainer[n].creator, newsContainer[n].pubdate, newsContainer[n].description], insertSuccess, dbErrorCB);
}, dbErrorCB, dbSuccessCB);
} else {
found = false;
}
}
}
newsContainer डेटा के कुछ पंक्तियों से भर जाता है, मुझे लगता है कि जाँच की है। मैं बहुत खुश हूं अगर कोई मुझे समझने में मदद कर सकता है कि यह क्यों काम नहीं करता है।
अग्रिम धन्यवाद!
नमस्ते,
बर्न्ड
क्या आप नमूना कोड भेज सकते हैं, मैं अभी भी इसे समझने में सक्षम नहीं हूं –