dbShell.transaction(function(tx) {
for (var i=0; i< data.length; i++ ){
var sql ="Insert into students(studentid,name) SELECT '"+ data.studentid +"', '"+ data.name +"' WHERE NOT EXISTS(SELECT * FROM students WHERE studentid ='" + data.studentid +"')";
tx.executeSql(sql, [], nullHandler,dbErrorHandler);
}
});
我以json格式获取数据(学生列表)。我通过循环收到的数据在sqlite phonegap中插入查询。但是insert语句与某些记录不同。我觉得这是因为交易没有完成。
有人可以向我解释一下我在这个查询中做错了什么吗?
感谢您的帮助。
答案 0 :(得分:0)
使用以下代码进行插入:
ActionBar.Tab tab = ActionBar.NewTab();
tab.SetText(Resources.GetString(Resource.String.tab1_text));
tab.SetIcon(Resource.Drawable.tab1_icon);
tab.TabSelected += (sender, args) => {
// Do something when tab is selected
}
ActionBar.AddTab(tab);
tab = ActionBar.NewTab();
tab.SetText(Resources.GetString(Resource.String.tab2_text));
tab.SetIcon(Resource.Drawable.tab2_icon);
tab.TabSelected += (sender, args) => {
// Do something when tab is selected
}
ActionBar.AddTab(tab);
您需要添加successHandler和errorHandler
答案 1 :(得分:0)
我找到了答案。问题出在我收到的json数据中。其中一个名字包含&#39;单引号的名字。这导致查询失败。