2015-02-11 139 views
0
function PgMain_rptArticles_OnRowRender(e){ 
    var records = Data.execute('select * from Articles'); 
    Data.Dataset1.seek(e.rowIndex); 

     Pages.PgMain.rptArticles.Image1.image = records.rows[e.rowIndex][3]; 
     Pages. PgMain.rptArticles.Label1.text = records.rows[e.rowIndex][1]; 
     Pages. PgMain.rptArticles.Label2.text = records.rows[e.rowIndex][2]  
} 

获取图像从数据库

如何从数据库中获取的图像?

回答

1

将大型二进制文件直接保存到数据库是非常罕见的。更常见的方法是将图像保存到文件并将路径保存到数据库。

见讨论的几个:

How to store image in SQLite database

Android Save images to SQLite or SDCard or memory

saving image into SQLITE?

我假设你宁愿保存到数据库的引用,我的回答是基于这个。

看看这里的例子: http://docs.smartface.io/html/T_SMF_IO_File.htm

SMF.Multimedia.startCamera({ 
    cameraType : 1, //rear camera 
    resolution : 2, //large resolution 
    autoFocus : true, 
    onStart : function() {}, //do nothing 
    onCapture : function (e) { 
     var photoFile = new SMF.IO.File(e.photoUri); //the full URI is given 
     var destination = SMF.IO.applicationDataDirectory + //predefined path already containing separator at the end 
      "data" + SMF.IO.pathSeperator + "tbl1" + 
      SMF.IO.pathSeperator + photoFile.name; //name gives file name with extension 
     var targetFile = new SMF.IO.File(destination); 
     if(!targetFile.exists) { 
      if(photoFile.move(destination)) { //if moved successfully 
       //photoFile nativePath has been updated 
       Data.execute("Insert into tbl1 (image) values(?)", 
        photoFile.nativePath); //records reference to database 
      } 
     } 
    }, 
    onCancel : function() {}, //do nothing 
    onFailure : function() {} 
    //do nothing 
}); 

您将节省的“目的地”变量(指上面的例子),以数据库和取一部分,那么会是这样:

Pages.PgMain.rptArticles.Image1.image = SMF.Image(records.rows[e.rowIndex][3]);