"ui";
importClass(java.time.LocalDate);
ui.layout(
<linear orientation="vertical">
<input id="标题"w="*"/>
<input id="内容"w="*"gravity="top"h="200"/>
<text id="时间"/>
<horizontal>
<button id="写入"text="写入"/>
<button id="搜索"text="搜索"/>
<button id="所有数据"text="所有数据"/>
<button id="关闭"text="关闭"/>
</horizontal>
<list id="列表">
<vertical>
<text id="bt"text="{{name}}"w="500"/>
<input id="nr"text="{{age}}"w="*"/>
<horizontal>
<text id="删除"text="删除"marginLeft="20"/>
<text id="更改"text="更改"marginLeft="20"/>
<text id="sj"text="{{score}}"w="*"marginLeft="20"/>
</horizontal>
</vertical>
</list>
</linear>
);
// 创建或打开一个数据库文件,在当前目录的data.db文件
let db = sqlite.open(files.getSdcardPath() + "/笔记/数据库.db", {
version: 1
}, {
onOpen: function(db) {
db.execSQL("CREATE TABLE IF NOT EXISTS STUDENT(" +
"`id` INTEGER PRIMARY KEY AUTOINCREMENT, " +
"`name` TEXT NOT NULL, " +
"`age` INTEGER NOT NULL, " +
"`score` INTEGER" +
")");
}
});
ui.列表.on("item_bind", function(itemView, itemHolder) {
itemView.删除.on("click", function() {
a = db.delete("STUDENT", "score = '" + itemView.sj.text() + "'", null)
toast("删除" + a + "个")
列表数组.splice(itemHolder.position, 1);
});
itemView.更改.on("click", function() {
toast("更改")
//改数据参数
db.update("STUDENT", {
age: itemView.nr.text(),
name: itemView.bt.text()
}, "score = ?", [itemView.sj.text()])
})
})
ui.写入.click(() => {
//写入数据库
db.insert("STUDENT", {
name: ui.标题.text(),
age: ui.内容.text(),
score: 时间()
})
ui.标题.setText("")
ui.内容.setText("")
})
ui.搜索.click(() => {
列表数组 = []
var names = db.rawQuery("SELECT * FROM STUDENT WHERE name = ?", [ui.标题.text()]).all()
if (names) {
log("数量=" + names.length)
log(names)
列表数组 = names.slice();
} else {
toast("没有数据")
}
ui.列表.setDataSource(列表数组);
})
ui.所有数据.click(() => {
console.clear()
//打印所有数据
let cursor = db.rawQuery("SELECT * FROM STUDENT", null);
while (cursor.moveToNext()) {
log(cursor.pick());
}
// 记得关闭cursor
cursor.close();
})
ui.关闭.click(() => {
// 还要关闭数据库
db.close();
exit()
})
function 时间() {
var mydate = new Date();
var 年 = mydate.getFullYear();
var 月 = mydate.getMonth();
var 日 = mydate.getDate();
var 小时 = mydate.getHours();
var 分钟 = mydate.getMinutes();
var 秒数 = mydate.getSeconds();
var 毫秒 = mydate.getMilliseconds();
var 星期 = mydate.getDay();
return 年 + "." + (月 + 1) + "." + 日 + " " + 小时 + ":" + 分钟 + ":" + 秒数 + ":" + 毫秒
}
ui.emitter.on("back_pressed", e => {
db.close();
toast("关闭")
})
/*
//get getByColumn all pick next single
数据 = db.rawQuery("SELECT * FROM STUDENT", null).single()
log(数据) //得到第一个数据
*/
QQ群 568523841