关键是使用string.loadBuffer函数返回二进制字节数组:
import access;
//创建数据库
var db = access("/testChunk.mdb")
//创建表
if(!db.existsTable("Chunks3") ){
db.exec("CREATE TABLE Chunks3(ID integer identity NOT NULL, Photo IMAGE NULL)")
}
//参数化插入数据
var cmd = db.createCommand( "INSERT INTO Chunks3(Photo) VALUES(@Photo)" );
//设置所有参数的值
cmd.bind(
//用string.loadBuffer 函数返回二进制字节数组。
Photo = string.loadBuffer( "~\codes\范例程序\D) 图形图像\.gdip.jpg" );
)
//执行命令
cmd.Execute()
import gdip;
for(rs,fields in db.each("SELECT * FROM Chunks3") ){
var bin = rs("Photo").value; //读取二进制数据
if(bin){
var hdc = ::GetDC(0);
gdip.graphics( hdc ).drawImage( gdip.image(bin) ); //画到屏幕上看看
::ReleaseDC(0,hdc);
break;
}
}
//关闭数据库连接
db.close(); |