WEB开发网
开发学院手机开发Windows Mobile 开发 Windows Mobile程序中读取数据库中的二进制图片总... 阅读

Windows Mobile程序中读取数据库中的二进制图片总结

 2010-06-22 03:13:00 来源:WEB开发网   
核心提示:Visual Studio 2008中也就是.Net 3.5框架在Windows窗体程序中,Image类有两个方法也就是从数据流FromStream和文件FromFile生成图片,大概过程是从数据库中读出二进制数据,Windows Mobile程序中读取数据库中的二进制图片总结,存储在一个字节数组里面,然后通过以上两种

Visual Studio 2008中也就是.Net 3.5框架

在Windows窗体程序中,Image类有两个方法也就是从数据流FromStream和文件FromFile生成图片,大概过程是从数据库中读出二进制数据,存储在一个字节数组里面,然后通过以上两种方法读出,具体方法请看

1,用FromFile

/// < summary>

/// 将数据库中的二进制显示为图片 用pictureBox来显示数据库中二进制图片有两种方法,方件流,二进制流

/// < /summary>

/// < param name="sqlStr">查询语句

/// < returns>

public Image BytesToImage(string sqlStr)

{

SqlConnection conn = GetConnection();

conn.Open();

SqlCommand sqlCmd = new SqlCommand(sqlStr, conn);

SqlDataReader sqlDr = sqlCmd.ExecuteReader();

sqlDr.Read();

FileInfo fi = new FileInfo("temp");

FileStream fs = fi.Open(FileMode.Create);

byte[] myData = (byte[])sqlDr["DrugImage"];

foreach (byte a in myData)

{

fs.WriteByte(a);

}

fs.Close();

sqlDr.Close();

sqlCmd.Dispose();

sqlDr.Dispose();

conn.Close();

return Image.FromFile("temp");

}

2,用FromStream

/// < summary>

/// 将数据库中的二进制显示为图片 用pictureBox来显示数据库中二进制图片有两种方法,方件流,二进制流

/// < /summary>

/// < param name="sqlStr">查询语句

/// < returns>

public Image BytesToImage(string sqlStr)

{

SqlConnection conn = GetConnection();

conn.Open();

SqlCommand sqlCmd = new SqlCommand(sqlStr, conn);

SqlDataReader sqlDr = sqlCmd.ExecuteReader();

sqlDr.Read();

MemoryStream ms = new MemoryStream((byte[])sqlDr["DrugImage"]);

Image myImage = Image.FromStream(ms,true);

sqlDr.Close();

1 2 3  下一页

Tags:Windows Mobile 程序

编辑录入:coldstar [复制链接] [打 印]
赞助商链接