当前位置: 首页 > 工具软件 > pickadate.js > 使用案例 >

Auto.js 数据库

万高畅
2023-12-01
"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

 类似资料: