我使用Sencha在我的websql中创建了一个表。向表添加值工作正常, 但删除不起作用。
我试过
getStore('favorite').removeAt(1);
但没有结果。是否有办法处理SQL请求,如
"Delete from favorite where id = 1"
我整天都在谷歌搜索。有任何想法吗?代码如下:
dockedItems: [
{
xtype: 'toolbar',
dock: 'top',
items: [
{
text: '+',
ui: 'decline',
handler: function(){
var s_name = post.get('list');
var s_image = post.get('image');
//var s_type = record.get('code');
//var c_content = post.get('filmpage');
//alert('РаботаетЬ');
Ext.require(['Ext.data.proxy.SQL']);
Ext.define("Favorite", {
extend: "Ext.data.Model",
config: {
fields: ["id","name","ftype","image","link","res"]
}
});
Ext.create("Ext.data.Store", {
model: "Favorite",
storeId: 'Favorite',
proxy: {
type: "sql"
}
});
var store = Ext.getStore('Favorite');
Ext.getStore('Favorite').removeAt(1);
Ext.getStore('Favorite').sync();
var record = Ext.getStore('Favorite').findExact('id', 1);
Ext.getStore('Favorite').remove(record);
Ext.getStore('Favorite').sync();
/*Ext.getStore('Favorite').add([{
name: s_name,
ftype: cat,
image: s_image,
link: '',
res : '',
}]);
Ext.getStore('Favorite').sync();*/
//Ext.getStore("Users").getModel("Users").getProxy("Users").dropTable("Favorite");
//Ext.getStore("Favorite").getModel("Ext.data.Model").getProxy().dropTable();
}
}
]
}
]
答案 0 :(得分:1)
使用有效的js找到解决方案,仍然非常感谢你的帮助。
db = openDatabase("Sencha", "1.0", "Sencha", 200000);
if(!db)
alert("Failed to connect to database.");
else
alert('yeah');
db.transaction(function(tx) {
tx.executeSql("DELETE FROM Favorite WhERE id = 3 ", [], function(result){}, function(tx, error){});
});
答案 1 :(得分:0)
删除记录后你应该sync
var store = Ext.getStore('favorite');
store.removeAt(1);
store.sync();
<强>更新强>
var index = store.findExact('id', 1);
store.remove(store.getAt(index));
store.sync();
如何调试
的console.log(索引); //如果匹配则应返回值0否则返回-1。
的console.log(store.getAt(索引)); //应返回id值为1的记录。