总共分为几个步骤"
1.链接mysql
2.所有用户到处到listview
3.查询(if(#r)判断找没找到而不是if(!r))
4.就是充值那
5.充值记录调用进程process
完整代码:
import win.ui;
import console;
import carl.mysql;
import win.ui.statusbar;
/*DSG{{*/
mainForm = win.form(text="充值系统1.0";right=906;bottom=619;border="dialog frame";max=false)
mainForm.add(
button_check={cls="button";text="查询";left=599;top=175;right=720;bottom=208;z=9};
button_del={cls="button";text="删除";left=738;top=219;right=859;bottom=252;z=12};
button_log={cls="button";text="日志";left=600;top=263;right=721;bottom=296;z=13};
button_pay={cls="button";text="充值";left=737;top=175;right=858;bottom=208;z=10};
button_res={cls="button";text="刷新";left=600;top=219;right=721;bottom=252;z=11};
edit_money={cls="edit";left=654;top=74;right=868;bottom=107;edge=1;z=6};
edit_pay={cls="edit";left=655;top=120;right=869;bottom=153;edge=1;z=8};
edit_user={cls="edit";left=653;top=24;right=867;bottom=57;edge=1;z=4};
groupbox={cls="groupbox";text="设置";left=563;top=6;right=894;bottom=309;edge=1;z=1};
listview={cls="listview";left=15;top=11;right=559;bottom=590;edge=1;gridLines=1;z=2};
static={cls="static";text="账号:";left=594;top=27;right=649;bottom=58;font=LOGFONT(h=-21);transparent=1;z=3};
static2={cls="static";text="余额:";left=595;top=77;right=650;bottom=108;font=LOGFONT(h=-21);transparent=1;z=5};
static3={cls="static";text="充值:";left=596;top=123;right=651;bottom=154;font=LOGFONT(h=-21);transparent=1;z=7}
)
/*}}*/
//这里是列表
mainForm.listview.insertColumn("序号",50,1,0x0)
mainForm.listview.insertColumn("账号",120,2,0x0)
mainForm.listview.insertColumn("密码",250,3,0x0)
mainForm.listview.insertColumn("余额",50,4,0x2)
mainForm.listview.insertColumn("备注",50,5,0x2)
//连接数据库
var server,database,uid,pwd = `xx`,`xx`,`xx`,`xx`
var db = carl.mysql( server,database,uid,pwd )
var path ="C:\Users\Administrator\Desktop\pay-log.txt" ;
if(!db.conn){
win.msgbox("链接数据库失败","数据库连接失败")
return '链接数据库失败';
}
var sql ="select * from user"
var tab=db.getTable(sql)
for(i=1;#tab;1){
var username = tab[ i ].username;
var password = tab[ i ].password;
var money =tab[ i ].money; ;
mainForm.listview.addItem( {
text={mainForm.listview.count+1;username;password;money}
} )
}
win.ui.statusbar(mainForm).addItem("当前共有用户数量为:"+mainForm.listview.count, /*宽度*/)
mainForm.button_check.oncommand = function(id,event){
//查询
var username =mainForm.edit_user.text ;
var sql = `select * from user where username='`++username++`'`
var r = db.getTable(sql)
if(#r){
mainForm.edit_money.text=r[1].money
}else {
win.msgbox("无账号")
}
}
mainForm.button_pay.oncommand = function(id,event){
//充值
var username =mainForm.edit_user.text ;
var money = mainForm.edit_money.text;
var pay =mainForm.edit_pay.text ;
var newmoney =money+pay ;
var ok,err = db.exec(`update user set money = `++newmoney++` where username = '`++username++`'`)
if(ok="true"){
var sql = `select * from user where username='`++username++`'`
var r = db.getTable(sql)
if(r[1].uid){
mainForm.edit_money.text=r[1].money
}
win.msgbox("充值成功,充值金额:"+pay+",当前余额"+mainForm.edit_money.text)
string.save(path,tostring(time(),"%Y/%m/%d %H:%M:%S")+" 充值账号"+username+" 充值金钱:"+pay+'\r\n',true )
}else {
win.msgboxErr("充值失败","账号不存在或其他原因")
}
}
mainForm.button_del.oncommand = function(id,event){
//删除
var sql = `select * from user where username='`++username++`'`
var r = db.getTable(sql)
}
mainForm.button_res.oncommand = function(id,event){
//刷新
mainForm.listview.clear()
var sql ="select * from user"
var tab=db.getTable(sql)
for(i=1;#tab;1){
var username = tab[ i ].username;
var password = tab[ i ].password;
var money =tab[ i ].money; ;
mainForm.listview.addItem( {
text={mainForm.listview.count+1;username;password;money}
} )
}
win.msgbox("刷新成功,当前用户总数为:"+mainForm.listview.count)
}
mainForm.button_log.oncommand = function(id,event){
import process
process.execute(path)
}
mainForm.enableDpiScaling();
mainForm.show();
return win.loopMessage();
最后有一个问题 就是win.ui.statusbar(mainForm).addItem("当前共有用户数量为:"+mainForm.listview.count, /*宽度*/) 这里比如我第2次刷新的时候这个值不变 要怎么变不会写