在ACCESS中如何让长二进制数据以图片方式显示出来
在ACCESS中如何让长二进制数据以图片方式显示出来,我想在前台用带后台管理的JS幻灯片方式来显示后台数据,请路过侠士帮小弟一把,急需等着用....谢谢!我用的是VBSC...
在ACCESS中如何让长二进制数据以图片方式显示出来,我想在前台用带后台管理的JS幻灯片方式来显示后台数据,请路过侠士帮小弟一把,急需等着用....谢谢!
我用的是VBSCRIPT,详细代码在第二个问:如何让数据库的长二进制数据以图片方式显示出来(续).中!! 展开
我用的是VBSCRIPT,详细代码在第二个问:如何让数据库的长二进制数据以图片方式显示出来(续).中!! 展开
1个回答
展开全部
数据库中的二进制文件是没有办法直接在数据库中显示的,只可以通过程序进行数据库图片的插入和读取,不知道你尘消使用的是是么开发语言。
我以C#代码为例。
一般的思路都是:
现将图片存入数据库。
// 需要保存的图片为image1
// 先将图片保存起来
image1.Save("a.bmp");
// 获得文件流
FileStream fileStream = new FileStream(”a.bmp”, FileMode.Open,FileAccess.Read);
// 将文件流转化成二进制流
BinaryReader binaryReader = new BinaryReader(fileStream);
byte[] img = binaryReader.ReadBytes((int)fileStream.Length);
binaryReader.Close();
fileStream.Close();
// 可以把文件删除
File.Delete(”a.bmp”);
string sql = ”insert into PIC(Pic) values (@img)”;
// 获族基取数据库连接方法getConn()自己写
SqlConnection conn =getConn();
SqlCommand comm = new SqlCommand(sql, conn);
comm.Parameters.Add(”@img”, SqlDbType.Image).Value = img;
conn.Open();
comm.ExecuteNonQuery();
// 这样就已经将图片存到了数据库中
conn.Close();
其次就是读取。比较简单。
string sql = ”select Pic from PIC where”+ 你的检索条件;
SqlConnection conn = getConn();
SqlCommand comm = new SqlCommand(sql, conn);
conn.Open();
// 获取第一条数据
byte[] dta = (byte[])comm.ExecuteScalar();
conn.Close();
try
{
MemoryStream ms = new MemoryStream(dta);
Image newImage= Image.FromStream(ms);
}
catch
{
MessageBox.Show(”Error”);
}
这样就实现了图片数据的存取兆兄谨功能。
这只是通过C#的方法描述下基本思路,其他语言都是相类似的方法,只需要找到相同功能的API函数就行,祝你成功。
我以C#代码为例。
一般的思路都是:
现将图片存入数据库。
// 需要保存的图片为image1
// 先将图片保存起来
image1.Save("a.bmp");
// 获得文件流
FileStream fileStream = new FileStream(”a.bmp”, FileMode.Open,FileAccess.Read);
// 将文件流转化成二进制流
BinaryReader binaryReader = new BinaryReader(fileStream);
byte[] img = binaryReader.ReadBytes((int)fileStream.Length);
binaryReader.Close();
fileStream.Close();
// 可以把文件删除
File.Delete(”a.bmp”);
string sql = ”insert into PIC(Pic) values (@img)”;
// 获族基取数据库连接方法getConn()自己写
SqlConnection conn =getConn();
SqlCommand comm = new SqlCommand(sql, conn);
comm.Parameters.Add(”@img”, SqlDbType.Image).Value = img;
conn.Open();
comm.ExecuteNonQuery();
// 这样就已经将图片存到了数据库中
conn.Close();
其次就是读取。比较简单。
string sql = ”select Pic from PIC where”+ 你的检索条件;
SqlConnection conn = getConn();
SqlCommand comm = new SqlCommand(sql, conn);
conn.Open();
// 获取第一条数据
byte[] dta = (byte[])comm.ExecuteScalar();
conn.Close();
try
{
MemoryStream ms = new MemoryStream(dta);
Image newImage= Image.FromStream(ms);
}
catch
{
MessageBox.Show(”Error”);
}
这样就实现了图片数据的存取兆兄谨功能。
这只是通过C#的方法描述下基本思路,其他语言都是相类似的方法,只需要找到相同功能的API函数就行,祝你成功。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询