数据库读取图片
直接使用企业管理器好像没有办法操作吧,通过软件或自己做个小软件读取。
#region //读取数据库中图片到内存.并显示
public void LoadToMemoryAndDisable(string serverAdress, string database)
{
//读取数据库中图片到内存.并显示
sqlConnection conn = new SqlConnection("server=" + serverAdress + ";integrated security = sspi;database = " + database);
SqlCommand cmd = new SqlCommand("select * from imgtable where imgname like '%bmp%'", conn);
conn.Open();
SqlDataReader dr;
try
{
dr = cmd.ExecuteReader();
dr.Read();
System.Data.SqlTypes.SqlBinary sb = dr.GetSqlBinary(2);
//或byte[] imageData = (byte[])dr[2];
MemoryStream ms = new MemoryStream(sb.Value);//在内存中操作图片数据
Bitmap bmp = new Bitmap(Bitmap.FromStream(ms));
this.pictureBox1.Image = bmp;
dr.Close();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
finally
{
conn.Close();
}
}
#endregion
‘贰’ mysql数据库读取图片
读出二进制,转化成流,然后write到页面上 byte[] blob = userinfo.getPhoto(); if(blob!=null){ response.reset(); response.setContentType("image/"+dat);
‘叁’ SQL数据库中如何存储图片和读取
要看你用哪种语言,但是流程都差不多。都是把图片变成留,然后变成字节数组,然后再保存到数据库里面去。存地址确实是个办法,但是却不实用。
‘肆’ 如何从数据库中读取图片到picturebox中
用SqlDataReader读取图片数据,放到流中,Image对象从流加载数据到PictureBox。有三种方式读取图片,这三种方式都要求将SqlDataReader的默认行为设置为SequentialAccess。
1使用GetSqlBytes检索varbinary(max)数据:
using (SqlConnection connection = new SqlConnection(ConnectionString))
{
Stream s = new MemoryStream(); //创建一个以内存为后备存储的流
SqlCommand command = connection.CreateCommand();
SqlDataReader reader = null;
try
{
command.CommandText = "SELECT LastName,Photo FROM dbo.Employees " +
" WHERE LastName=@LastName";
command.CommandType = CommandType.Text;
//声明参数并赋值
SqlParameter parameter = new SqlParameter("@LastName", SqlDbType.NVarChar, 20);
parameter.Value = lastName;
command.Parameters.Add(parameter);
connection.Open();
//修改DataReader的默认行为,SequentialAccess按顺序接收数据并立即加载
//CloseConnection指明关闭DataReader时,对数据库的连接也关闭
reader = command.ExecuteReader(
CommandBehavior.SequentialAccess|CommandBehavior.CloseConnection);
if (reader.HasRows)
{
while (reader.Read())
{
//SequentialAccess要求按顺序接收数据,先接受reader[0]
this.label1.Text = reader[0].ToString();
if (reader.IsDBNull(1)) //若列值为空返回
return;
else
{
//使用reader.GetSqlBytes获取图像数据
SqlBytes bytes = reader.GetSqlBytes(1);
using (Bitmap proctImage = new Bitmap(bytes.Stream))
{
//以gif格式保存在Stream流并显示
proctImage.Save(s, System.Drawing.Imaging.ImageFormat.Gif);
this.pictureBox1.Image = System.Drawing.Image.FromStream(s);
} } }
}
else
MessageBox.Show("No records returned.");
2使用GetSqlBinary检索数据:
reader = command.ExecuteReader(CommandBehavior.CloseConnection);
while (reader.Read())
SqlBinary binaryStream = reader.GetSqlBinary(0);
3使用GetValue检索数据:
while (reader.Read())
{
//如果从 varbinary(max) 列读数据
byte[] binaryData = (byte[])reader.GetValue(0);
//如果从 varchar(max)或nvarchar(max) 列读数据
String stringData = (String)reader.GetValue(1);
}
详细代码见我的“王一博客”danyaody
‘伍’ 如何才能往数据库里读取图片数据或者从数据库里读图片
王大伟,这题我不要了,你随意认证,任意拒绝,我已举报。
‘陆’ 急~如何读取数据库中的图片
我从后台可以将图片上传到img中,但是前台却无法将该图片读取在前台显示
那位大侠知道的
帮帮忙
急用
实在是没有办法了
‘柒’ 怎么从数据库中调用图片
以上回答值得学习,如果是显示在页面上可以利用一个空的窗体,把图片的二进制流写到这个空窗体中,然后读这个窗体的流就得到了
‘捌’ 如何从数据库中读取图片,图片存在文件夹中
数据库存的是文件名和路径,通过这个路径和文件名来显示图片。
‘玖’ 从数据库中读取照片
SqlCommand command = new SqlCommand(sql, DBHelper.connection);
DBHelper.connection.Open();
SqlDataReader read = command.ExecuteReader();
byte[] bytes = (byte[])read["userportrait"];
MemoryStream stream = new MemoryStream(bytes);
BinaryFormatter translate = new BinaryFormatter();
picHost.Image = (Image)translate.Deserialize(stream);
直接复制的没具体修改 这个是读取的
‘拾’ 如何从sql数据库内读取图片
何必要将图片存入数据库,存图片路径不是更好。你想一下,如果做一个购物网,都将图片以二进制存入数据库,从网页读取的时间不是更长,更没效率。