c#请教 pictureBox1图片存入数据库

xiehuangda 2016-08-31 01:50:56
请教c# WinForm中的pictureBox1图片存入数据库

控件pictureBox1已经显示出图片了,怎么样把它存入数据库呢?又如何读取出来呢?
图片都只是50K而已。很小。是不是得转换成二进制呢?

请教大家写个详细点的代码,谢谢!
...全文
797 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
byte[ ] 类型的数据与数据库的“图片、二进制、blob” 等类型字段的读取规则,你直接看相关的教程即可。 它跟“显示在文本框”是没有直接关系的。数据库字段不是按照“文本”来保存这类数据。 所以绕道“文本框”来考虑你的所谓“2个步骤”实际上是个歧路,你的问题被引入了错误的步骤。
  • 打赏
  • 举报
回复
引用 9 楼 xiehuangda 的回复:
请教 pictureBox1中已经显示了照片了,怎么把这里的照片转换成二进制显示到textBox1.Text文本框中呢? 然后,把textBox1.Text中的数据再存入到数据库呢? 希望分成2个步骤来。 首先是把pictureBox1中的照片转换成二进制显示到textBox1.Text文本框中 然后在存数据库。
byte[ ] 数据“显示到文本框中”,只会冗余复杂,引入另一个问题,对你的帖子本身的问题并没有好处。
xiehuangda 2016-09-05
  • 打赏
  • 举报
回复
pictureBox1上面已经显示了图片了,不要读路径图片方法。 直接把pictureBox1中的图片转换二进制,保存到数据库。 sql数据库,image类型。字段名字tupian
xiehuangda 2016-09-05
  • 打赏
  • 举报
回复
请教 pictureBox1中已经显示了照片了,怎么把这里的照片转换成二进制显示到textBox1.Text文本框中呢? 然后,把textBox1.Text中的数据再存入到数据库呢? 希望分成2个步骤来。 首先是把pictureBox1中的照片转换成二进制显示到textBox1.Text文本框中 然后在存数据库。
xiehuangda 2016-09-05
  • 打赏
  • 举报
回复
string sql ="insert into Tab (tupian) values ('"+textBox1.Text+"')"; 把数据显示到文本框后,再把数据保存到数据库。 请问,这样的方法,可以实现吗?
赵4老师 2016-09-01
  • 打赏
  • 举报
回复
xiehuangda 2016-09-01
  • 打赏
  • 举报
回复
感谢zhushiq1234 的代码。只是有写入的代码。 读取的代码,帮忙写个详细的。
阿蒙Amon 2016-08-31
  • 打赏
  • 举报
回复
将pictureBox1图片保存为文件到服务器,然后数据库存储文件路径。
crystal_lz 2016-08-31
  • 打赏
  • 举报
回复
直接保存图片路径不是很方便吗?。。
我叫小菜菜 2016-08-31
  • 打赏
  • 举报
回复
二进制流,或者base64字符串
猿来不容易 2016-08-31
  • 打赏
  • 举报
回复
private void button1_Click(object sender, EventArgs e)
        {
            byte[] imageBytes = GetImageBytes(pictureBox1.Image);

            string connStr = "SQL Server连接字符串";

            using (SqlConnection conn = new SqlConnection(connStr))
            {
                string sql = "Insert Into T_Img Values (@ImgData) ";
                using (SqlCommand cmd = new SqlCommand(sql))
                {
                    SqlParameter param = new SqlParameter("ImgData", SqlDbType.VarBinary, imageBytes.Length);
                    param.Value = imageBytes;
                    cmd.Parameters.Add(param);

                    cmd.Connection = conn;
                    conn.Open();
                    int i = cmd.ExecuteNonQuery();
                    MessageBox.Show(i.ToString());
                }
            }
        }
        private byte[] GetImageBytes(Image image)
        {
            MemoryStream mstream = new MemoryStream();
            image.Save(mstream, System.Drawing.Imaging.ImageFormat.Jpeg);
            byte[] byteData = new Byte[mstream.Length];
            mstream.Position = 0;
            mstream.Read(byteData, 0, byteData.Length);
            mstream.Close();
            return byteData;
        }
xiehuangda 2016-08-31
  • 打赏
  • 举报
回复
麻烦写个详细的代码
  • 打赏
  • 举报
回复
转成byte[],然后参数化存入数据库 读取的时候反向通过流转成Image对象

110,535

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧