|
楼主 |
发表于 2016-12-28 21:16:43
|
显示全部楼层
代码如下:"SQLite database browser"查看是,写入的数据总是4 chars
读出的数据也是4 chars。
- import win.ui;
- /*DSG{{*/
- var winform = win.form(text="aardio form";right=759;bottom=469)
- winform.add(
- btnFree={cls="button";text="释放空间";left=552;top=296;right=640;bottom=336;z=2};
- btnRead={cls="button";text="读取";left=536;top=192;right=624;bottom=232;z=3};
- button={cls="button";text="写入";left=528;top=96;right=616;bottom=136;z=1};
- plus={cls="plus";left=24;top=24;right=520;bottom=392;border=1;z=4}
- )
- /*}}*/
- import sqlite
- import console
- var db = sqlite("E:\360yun\aardio\工程\a6\!数据库相关\二进制读写.db")
- if( ! db.existsTable("sample") ){
- db.exec("CREATE TABLE sample(
- num INTEGER PRIMARY KEY AUTOINCREMENT,
- ID TEXT,
- pic BLOB
- );"
- )
- }
- var complete = function( ... ){
- console.log(...)
- console.log("完成")
- }
- winform.button.oncommand = function(id,event){
- var p = "E:\360yun\aardio\工程\a6\!数据库相关\2.jpg"
- var pic = string.load( p )
-
- db.prepare("INSERT INTO sample VALUES ( @num,'test',@blobPic );" ).step(
- blobPic = pic;
- num = null
- );
-
- complete()
- }
- winform.btnRead.oncommand = function(id,event){
-
- db.enum(
- "SELECT * FROM [sample]",
- function(tname,tvalue){
- for(i=1;#tname;1){
- //console.log(tname[i],string.fromto( tvalue[i] ) )
- console.log(tname[i],string.fromto( tvalue[i] ))
- }
- }
- )
- complete()
- }
- winform.btnFree.oncommand = function(id,event){
- db.exec("VACUUM")
- complete()
- }
- winform.show();
- winform.btnRead.oncommand()
- win.loopMessage();
复制代码 |
|