【aardio实战】数据库分页查询-数据库论坛-aardio-阿甘软件

【aardio实战】数据库分页查询

分页显示、跳转到指定页、多页序号标签等等更实用的功能,都可以通过不同的查询语句+程序界面设计来实现,可以自己动手尝试。
如果喜欢漂亮的UI,可以尝试用 WebView2 来做。

1427256372[1]

import win.ui;
/*DSG{{*/
mainForm = win.form(text="数据库分页显示";right=757;bottom=467)
mainForm.add(
button={cls="button";text="上一页";left=526;top=418;right=623;bottom=454;z=2};
button1={cls="button";text="下一页";left=636;top=418;right=733;bottom=454;z=3};
listview={cls="listview";left=18;top=15;right=736;bottom=403;edge=1;items={};z=1}
)
/*}}*/

import console;
import mysql.client;

var dbClient,err = mysql.client(
    server = "begin2019.com"; //数据库服务器,可省略默认为localhost
    uid = "freefire";//用户名,可省略默认为root
    pwd = "asdzxc123";
); 

if(!dbClient){ 
    console.log("这是 freefire 的个人临时数据库,仅用于测试和学习。")
    return console.logPause(err); 
}

//选择数据库
dbClient.selectDb("freefire")

var max = 15;
var offset = 0;

//直接支持常用数据库的 getTable 函数返回的数据格式
var dataTable = dbClient.getTable("SELECT * FROM `user` ORDER BY id ASC LIMIT @max_num OFFSET @offset_num;",{max_num = max; offset_num = offset});
mainForm.listview.setTable(dataTable)

//上一页
mainForm.button.oncommand = function(id,event){
    offset -= max;
    var dataTable = dbClient.getTable("SELECT * FROM `user` ORDER BY id ASC LIMIT @max_num OFFSET @offset_num;",{max_num = max; offset_num = offset});
    mainForm.listview.setTable(dataTable)
}

//下一页
mainForm.button1.oncommand = function(id,event){
    offset += max;
    var dataTable = dbClient.getTable("SELECT * FROM `user` ORDER BY id ASC LIMIT @max_num OFFSET @offset_num;",{max_num = max; offset_num = offset});
    mainForm.listview.setTable(dataTable)
}

mainForm.show();
return win.loopMessage();
请登录后发表评论

    没有回复内容