| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1835 人关注过本帖, 2 人收藏
标题:存储图片到数据库中??
只看楼主 加入收藏
lvyhong
Rank: 1
等 级:新手上路
帖 子:93
专家分:0
注 册:2008-11-10
结帖率:81.25%
收藏(2)
 问题点数:0 回复次数:8 
存储图片到数据库中??
怎么样将图片存储到数据库中
请大家帮帮忙呀
谢谢啦
搜索更多相关主题的帖子: 数据库 
2008-11-26 16:21
bygg
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:乖乖的心中
等 级:版主
威 望:241
帖 子:13555
专家分:3076
注 册:2006-10-23
收藏
得分:0 
存储图片
private void btnSavePicture_Click(object sender, EventArgs e)
        {
            Image Picture = this.pictureBox2.Image;//获取图片

            MemoryStream ms = new MemoryStream();
            Picture.Save(ms, System.Drawing.Imaging.ImageFormat.Jpeg);//转换成数据流

            byte[] bPicture = ms.GetBuffer();//注意这一条与下两条语句的区别
            SqlConnection conn = new SqlConnection("Data Source=.;Integrated Security=True");

            string strSQL = "use Northwind Insert into Pictures(Picture) values(@image)";

            SqlCommand cmd = new SqlCommand(strSQL, conn);

            cmd.Parameters.Add("@image", SqlDbType.Image);

            cmd.Parameters["@image"].Value = bPicture;

            try
            {
                conn.Open();
                cmd.ExecuteNonQuery();
                MessageBox.Show("存储成功!");
            }
            catch (Exception ee)
            {
                MessageBox.Show(ee.Message);
            }
            finally
            {
                conn.Close();
            }
        }

读取图片
 private void btnReadPicture_Click(object sender, EventArgs e)
        {
            //使用use关键字可以不在连接字符串中指定数据库名字  
            SqlConnection conn = new SqlConnection("Data Source=.;Integrated Security=True");
            conn.Open();
            string strSql = "use Northwind select Picture from Pictures where id = 4";
            SqlCommand com = new SqlCommand(strSql, conn);
            SqlDataReader dr = com.ExecuteReader();
            try
            {
                dr.Read();
                byte[] btImage = (byte[])dr["Picture"];

                ms = new (btImage);
                System.Drawing.Image image = System.Drawing.Image.FromStream(ms);//将二进制转换为流

                //Bitmap image = new Bitmap(ms);//用这条替换上一条也是可以的
                pictureBox1.Image = image;
            }
            catch (Exception ee)
            {
                MessageBox.Show(ee.Message);
            }
            finally
            {
                conn.Close();
                dr.Close();
            }
        }
---------------------------------------转

飘过~~
2008-11-26 16:32
lvyhong
Rank: 1
等 级:新手上路
帖 子:93
专家分:0
注 册:2008-11-10
收藏
得分:0 
谢了,二楼的朋友
如果我要把图片的名字也给放进数据库,该怎么写呢
2008-11-26 22:11
wokaokaokao
Rank: 1
等 级:新手上路
帖 子:35
专家分:0
注 册:2008-9-1
收藏
得分:0 
请问下!。。。
     刚刚的代码是使用什么数据库的确??
2008-11-26 22:34
lackyking
Rank: 3Rank: 3
等 级:新手上路
威 望:6
帖 子:186
专家分:0
注 册:2008-7-1
收藏
得分:0 
图片作为流文件存储到数据库中,还没有见过能同时存储文件名的解决方案。
SQL Server 中是img字段类型,Access中是OLE字段类型

http://www.,木公博客
2008-11-27 10:31
bygg
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:乖乖的心中
等 级:版主
威 望:241
帖 子:13555
专家分:3076
注 册:2006-10-23
收藏
得分:0 
以下是引用lvyhong在2008-11-26 22:11的发言:

谢了,二楼的朋友
如果我要把图片的名字也给放进数据库,该怎么写呢


在表中再加一个字段就可以了啊

飘过~~
2008-11-27 10:45
夜风敲窗
Rank: 2
等 级:论坛游民
帖 子:14
专家分:10
注 册:2008-3-3
收藏
得分:0 
学习了。。。
2008-11-27 10:45
bygg
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:乖乖的心中
等 级:版主
威 望:241
帖 子:13555
专家分:3076
注 册:2006-10-23
收藏
得分:0 
以下是引用wokaokaokao在2008-11-26 22:34的发言:

请问下!。。。
     刚刚的代码是使用什么数据库的确??


SqlConnection   从这个可以看出来是用的SQL

飘过~~
2008-11-27 10:45
lvyhong
Rank: 1
等 级:新手上路
帖 子:93
专家分:0
注 册:2008-11-10
收藏
得分:0 
谢了,我已经搞定了
2008-11-27 14:25
快速回复:存储图片到数据库中??
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.012957 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved