sqlite入门练习,通讯录增删改查
选择了sqlite作为sql语言入门练习的数据库,因而也选择了同样轻便的编程工具AAuto,其封装了sqlite库,方便好用且很快写出一个带界面的小工具,有兴趣的OSC友只需到官网下载快手开发工具,解压缩,新建工程运行以下代码即可看到效果。 透过编写这个工具了解及
选择了sqlite作为sql语言入门练习的数据库, 因而也选择了同样轻便的编程工具AAuto ,其封装了sqlite 库,方便好用且很快写出一个带界面的小工具 ,有兴趣的OSC友只需到官网下载快手开发工具,解压缩,新建工程运行以下代码即可看到效果。
透过编写这个工具了解及学习了以下知识:
1.sql基本语言, sqlite数据库创建、数据增加、修改、删除及模糊查询,命名参数运用。
2.列表视图listview控件的简单操作运用。
3.windows控件、窗体的命令响应、通知,消息循环等知识。
4.aauto的编程语言的数据类型、名字空间等特点。
SQLite AAuto Quicker
import win.ui; import crreaDb; /*DSG{{*/ var winform = ..win.form(text="快手通讯录 by 菲菲OSC";right=558;bottom=427;parent=...) winform.add( button={cls="button";text="添加记录";left=19;top=19;right=100;bottom=48;z=1}; button2={cls="button";text="编辑记录";left=115;top=19;right=196;bottom=48;z=2}; button3={cls="button";text="删除记录";left=211;top=19;right=292;bottom=48;z=3}; button4={cls="button";text="查找";left=476;top=22;right=536;bottom=48;z=5}; dress={cls="edit";left=375;top=152;right=541;bottom=176;edge=1;z=9}; edit={cls="edit";text="输入查找条件...";left=318;top=21;right=457;bottom=48;edge=1;z=4}; emal={cls="edit";left=375;top=193;right=541;bottom=217;edge=1;z=10}; listview={cls="listview";left=19;top=69;right=292;bottom=408;bgcolor=16777215;edge=1;fullRow=1;z=6}; mark={cls="richedit";text="备注";left=313;top=280;right=543;bottom=408;edge=1;hscroll=1;multiline=1;vscroll=1;z=17}; name={cls="edit";left=375;top=71;right=541;bottom=95;edge=1;z=7}; qq={cls="edit";left=375;top=234;right=541;bottom=258;edge=1;z=11}; static={cls="static";text="姓名";left=319;top=69;right=359;bottom=93;transparent=1;z=12}; static2={cls="static";text="电话";left=319;top=110;right=359;bottom=134;transparent=1;z=13}; static3={cls="static";text="地址";left=319;top=152;right=359;bottom=176;transparent=1;z=14}; static4={cls="static";text="邮箱";left=319;top=193;right=359;bottom=217;transparent=1;z=15}; static5={cls="static";text="QQ/MSN";left=319;top=234;right=359;bottom=258;transparent=1;z=16}; tel={cls="edit";left=375;top=112;right=541;bottom=136;edge=1;z=8} ) /*}}*/ var sqlConnection = sqlite("\res\contact.db") crreaDb.careaTable(sqlConnection) // 显示数据 var showData = function(sql){ for id,姓名,电话, 地址,邮箱,QQ ,备注 in sqlConnection.each("select rowid,* from tl") { winform.listview.addItem({tostring(id);姓名;电话; 地址;邮箱;QQ;备注}) } } winform.listview.insertColumn("id",1) winform.listview.insertColumn("姓名",100) winform.listview.insertColumn("电话",100) winform.listview.insertColumn("地址",120) winform.listview.insertColumn("邮箱",120) winform.listview.insertColumn("QQ",80) winform.listview.insertColumn("备注",150) showData() winform.show() winform.button.oncommand = function(id,event){ // 添加 var name = winform.name.text var tel = winform.tel.text var dress = winform.dress.text var em = winform.emal.text var qq = winform.qq.text var mark = winform.mark.text crreaDb.addData(sqlConnection,name,tel,dress,em,qq,mark) id = sqlConnection.lastInsertRowid() var data = sqlConnection.stepQuery("select rowid,* from [tl] where rowid = "+id) winform.listview.addItem({tostring(data.id);data.name;data.tel;data.dress;data.em;data.qq;data.mark}) } winform.button3.oncommand = function(id,event){ // 删除 var coun = winform.listview.selIndex var id = winform.listview.getItemText(coun) if(id){ crreaDb.delData(sqlConnection,id) winform.listview.clear() showData() winform.listview.selIndex = coun } else { winform.msgbox("请选择要删除的列") } } winform.button2.oncommand = function(id,event){ // 编辑修改 crreaDb.editData(sqlConnection,name,tel,dress,em,qq,mark,id) } winform.button4.oncommand = function(id,event){ // 查询 var vv = winform.edit.text var id = crreaDb.inQuiry(sqlConnection,vv) winform.listview.clear() if(id){ for(i=1;#id;1){ winform.listview.addItem({tostring(id[i].rowid);id[i].name;id[i].tel; id[i].dress;id[i].em;id[i].qq;id[i].mark}) } } else { winform.msgbox("找不到记录") } } winform.edit.wndproc = function(hwnd,message,wParam,lParam){ if( message = 0x202/*_WM_LBUTTONUP*/ ) winform.edit.text = "" } winform.listview.onnotify = function(id,code,ptr){ select(code) { case 0xFFFFFF9B/*_LVN_ITEMCHANGED*/ { if(winform.listview.selIndex){ var lvw = winform.listview winform.name.text = lvw.getItemText(lvw.selIndex,2) winform.tel.text = lvw.getItemText(lvw.selIndex,3) winform.dress.text = lvw.getItemText(lvw.selIndex,4) winform.emal.text = lvw.getItemText(lvw.selIndex,5) winform.qq.text = lvw.getItemText(lvw.selIndex,6) winform.mark.tex = lvw.getItemText(lvw.selIndex,7) } } } } win.loopMessage(); sqlConnection.exec("VACUUM") sqlConnection.close() return winform;
namespace crreaDb; import sqlite; careaTable = function(db){ if( not db.existsTable("tl") ){ //创建表 db.exec( "create table tl( name, tel , dress, em, qq , mark );" ) } } // 添加数据 addData = function(db,name,tell,dress,em,qq,mark){ var command = db.prepare("insert into [tl] values ( @name,@tel,@dress,@em,@qq,@mark );" ) command.bind.parameterAtNames( name = name; tel = tell; dress = dress; em = em; qq = qq; mark = mark ).step() command.finalize() } // 删除 delData = function(db,id){ db.exec("DELETE FROM [%s] where rowid=%d;","tl",id) } // 修改 editData = function(db,name,tel,dress,em,qq,mark,id){ db.exec("UPDATE [tl] SET name = @name,tel=@te1 ,dress=@dress,em=@em,QQ=@qq,mark=@mark WHERE rowid = @id;",{ name = name; tel = tel; dress = dress; em = em; qq = qq; mark = mark; id = id }); } // 模糊查询 inQuiry = function(db,re){ var tab = db.getTable("select rowid,* from [tl] where ifnull(name,'') || ifnull(tel,'') || ifnull(QQ,'') like '%"+ re+ "%'") return tab }

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

热门话题

Diffusion不仅可以更好地模仿,而且可以进行「创作」。扩散模型(DiffusionModel)是一种图像生成模型。与此前AI领域大名鼎鼎的GAN、VAE等算法,扩散模型另辟蹊径,其主要思想是一种先对图像增加噪声,再逐步去噪的过程。其中如何去噪还原原图像是算法的核心部分。最终算法能够从一张随机的噪声图像中生成图像。近年来,生成式AI的惊人增长将文本转换为图像生成、视频生成等领域的许多令人兴奋的应用提供了支持。这些生成工具背后的基本原理是扩散的概念,这是一种特殊的采样机制,克服了以前的方法中被

请问Wallpaper是否支持家庭共享呢?很遗憾,不能支持哦。尽管如此,我们仍有解决方案。比如,可以用小号购买或先由大号下载好软件和壁纸,然后再更换到小号。简单启动软件是完全没问题的。wallpaperengine能家庭共享吗答:Wallpaper暂不支持家庭共享功能。1、据了解,WallpaperEngine似乎并不适合家庭共享环境。2、为了解决这个困扰,建议您考虑购买全新账号;3、或者先在主账号下载所需软件和壁纸,再切到其他账号。4、只要轻点打开软件,便无碍。5、您可以在上述网页上查看属性“

Kimi:一句话,十几秒钟,一份PPT就新鲜出炉了。PPT这玩意儿,可太招人烦了!开个碰头会,要有PPT;写个周报,要做PPT;拉个投资,要展示PPT;就连控诉出轨,都得发个PPT。大学更像是学了个PPT专业,上课看PPT,下课做PPT。或许,37年前丹尼斯・奥斯汀发明PPT时也没想到,有一天PPT竟如此泛滥成灾。吗喽们做PPT的苦逼经历,说起来都是泪。「一份二十多页的PPT花了三个月,改了几十遍,看到PPT都想吐」;「最巅峰的时候,一天做了五个PPT,连呼吸都是PPT」;「临时开个会,都要做个

wallpaperengine是常用于设置桌面壁纸的软件,用户在wallpaperengine里可以搜索自己喜欢的图片来生成桌面壁纸,还支持将电脑中的图片添加到wallpaperengine中设置成电脑壁纸。下面就来看看wallpaperengine设置锁屏壁纸的方法吧。 wallpaperengine设置锁屏壁纸教程 1、首先进入软件,然后选择已安装,点击“配置壁纸选项”。 2、单独设置选择完壁纸后需要点击右下方的确定。 3、再去点击上方的设置选和预览。 4、接下来

现在很多朋友喜欢用金山打字通这款软件,那么打字速度快慢严重影响工作效率,所以教大家练习打字速度,那么如何使用金山打字通练打字呢?今天小编就将金山打字通练习打数字教程如下讲述,希望对大家有所帮助。首先,打开金山打字软件然后,鼠标点击(新手入门)按钮接着,在新窗口中点击(数字键位)按钮随后,点击下方的(从头开始)按钮即可练习也可以点击(测试模式)按钮最后,输入数字进行练习就可以了此外金山打字通还有其他功能,能帮助大家更好的练习打字。1.选择练习模式:在软件界面上,您可以看到有不同的练习模式,例如“新

用户在使用wallpaperengine可以下载各种壁纸,还可以使用动态壁纸,有很多用户不知道wallpaperengine看片有没有病毒,只是视频文件是无法作为病毒的。wallpaperengine看片有病毒吗答:不会。1、只是视频文件是无法作为病毒的。2、只要确保从可信的来源下载视频,并保持电脑的安全防护措施,就可以避免病毒感染的风险。3、应用程序类壁纸是apk格式,apk可能会携带木马病毒。4、WallpaperEngine本身没有病毒,但是创意工坊里的一些应用程序类壁纸可能有病毒。

北京时间6月20日凌晨,在西雅图举办的国际计算机视觉顶会CVPR2024正式公布了最佳论文等奖项。今年共有10篇论文获奖,其中2篇最佳论文,2篇最佳学生论文,另外还有2篇最佳论文提名和4篇最佳学生论文提名。计算机视觉(CV)领域的顶级会议是CVPR,每年都会吸引大量研究机构和高校参会。据统计,今年共提交了11532份论文,2719篇被接收,录用率为23.6%。根据佐治亚理工学院对CVPR2024的数据统计分析,从研究主题来看,论文数量最多的是图像和视频合成与生成(Imageandvideosyn

用户在使用wallpaper时可以下载各种自己喜欢的壁纸进行使用,有很多用户不知道wallpaper的壁纸在哪个文件夹,用户下载的壁纸存放在content文件夹里。wallpaper的壁纸在哪个文件夹答:content文件夹。1、打开文件资源管理器。2、点击左侧“此电脑”。3、找到“STEAM”文件夹。4、选择“steamapps”。5、点击“workshop”。6、找寻“content”文件夹。
