aardio 文档
aardio 范例: sqlServer 库 - MSSQL 增、删、改、查
//sqlServer 库 - MSSQL 增、删、改、查
import console;
import sqlServer;
//打开数据库
var db = sqlServer(
["Data Source"] = "127.0.0.1,7788"; //"IP地址,服务端口"
["Database"]= "database"; //数据库名
["User ID"] = "sa"; //用户名
["Password"]= "123456"; //用户密码
)
//创建表
if(!db.existsTable("TestDb109") ){
//要特别注意 varchar 是 ANSI 编码字符串,NVARCHAR 是 UTF-16 编码字符串( aardio 中的 ustring )
db.exec("create table TestDb109 (url varchar(130), comment NVARCHAR(280), photo binary(200) NULL)")
}
//使用命令参数 - 参数化可避免SQL注入
var cmd = db.createCommand( "INSERT INTO TestDb109(url,comment,photo) VALUES(@url,@comment,@photo)" );
//绑定命令参数,二进制字段只能用这种方法插入
cmd.bind(
url = "http://bbs.aardio.com"; //UTF-8字符串会被 MSSQL 转换为 ANSI 字符串,这里也可以直接传 buffer。
comment = '✔ ❤ ☆ Unicode 字符百科测试一下hi!'u; //NVARCHAR 必须使用 UTF-16 字符串(ustring),其他编码可以用 string.toUtf16() 函数转换为UTF-16 编码。
photo = raw.buffer("Buffer") //二进制数据,也可用 string.loadBuffer() 加载文件
)
//执行命令
cmd.execute();
//增 - 调用 access.formatParameter() 格式化命名参数生成SQL语句
db.exec( "INSERT INTO TestDb109(url,comment) VALUES(@url,@comment)",{
url = "http://bbs.aardio.com";
comment = "字符串包含'单引号' 测试一下";
} )
//改
db.exec("UPDATE TestDb109 SET url='%s' WHERE comment='%s' ","http://www.aardio.com","这是说明")
//查
for(rs in db.each("SELECT * FROM TestDb109") ){
console.log( rs("url").value,rs("comment").value,rs("photo").value )
}
//将查询结果转换为普通数组
var tab = db.getTable("SELECT * FROM TestDb109");
console.dump(tab);
//删 - 自动调用 string.format() 函数格式化SQL语句,简单拼接字符串应避免包含单引号
db.exec("DELETE FROM TestDb109 WHERE url='%s'","http://www.aardio.com");
db.exec("DROP TABLE TestDb109")
//关闭数据库连接
db.close();
console.pause();
Markdown 格式