C#winform 中上传图片保存到数据库中?
现在有个问题是在界面上点击上传图片,成功后把图片保存到数据库中就ok,C#winform中的,,最好有用到二进制方式存储,,求源码,,不胜感激。。。...
现在有个问题是在界面上点击上传图片,成功后把图片保存到数据库中就ok,
C#winform中的,,最好有用到二进制方式存储,,求源码,,不胜感激。。。 展开
C#winform中的,,最好有用到二进制方式存储,,求源码,,不胜感激。。。 展开
4个回答
展开全部
就是2中方法:
1:上传图片的相对路径到数据库中相应字段里,读取显示时,将控件(假设用的是Image控件)的ImageUrl属性指向该相对路径即可。
2:将图片以二进制流的方式整体上传到数据库里,读取显示时,以二进制流的方式整体读出。这种方法稍微麻烦一点,但保存的是图片整体到数据库里。
1:上传图片的相对路径到数据库中相应字段里,读取显示时,将控件(假设用的是Image控件)的ImageUrl属性指向该相对路径即可。
2:将图片以二进制流的方式整体上传到数据库里,读取显示时,以二进制流的方式整体读出。这种方法稍微麻烦一点,但保存的是图片整体到数据库里。
参考资料: http://apps.hi.baidu.com/share/detail/21838749
展开全部
string strConn = "database=数据库名;server=服务器名;User ID=sa;Password=123456";
SqlConnection con = new SqlConnection(strConn);
con.Open();
SqlCommand cmd = new SqlCommand(strConn, con);
cmd.CommandType = CommandType.Text;
cmd.CommandText = strConn;
MessageBox.Show("111");
string path = @"C:\Documents and Settings\Administrator\桌面\Images\22.bmp";
FileStream fs = new FileStream(path, FileMode.Open, FileAccess.Read);
Byte[] imgByte = new Byte[fs.Length];
fs.Read(imgByte, 0, imgByte.Length);
fs = null;
//cmd.CommandText = "update img_test set image=@image,describe=@describe";
cmd.CommandText = "insert into img_test values(@image,@describe)";
MessageBox.Show("222");
cmd.Parameters.Add("@image", SqlDbType.Image).Value=imgByte;
//cmd.Parameters["image"].Value = imgByte;
cmd.Parameters.Add("@describe", SqlDbType.VarChar);
cmd.Parameters["@describe"].Value = this.txtFirstName.Text;
MessageBox.Show("333");
cmd.ExecuteNonQuery();
MessageBox.Show("heeh");
SqlConnection con = new SqlConnection(strConn);
con.Open();
SqlCommand cmd = new SqlCommand(strConn, con);
cmd.CommandType = CommandType.Text;
cmd.CommandText = strConn;
MessageBox.Show("111");
string path = @"C:\Documents and Settings\Administrator\桌面\Images\22.bmp";
FileStream fs = new FileStream(path, FileMode.Open, FileAccess.Read);
Byte[] imgByte = new Byte[fs.Length];
fs.Read(imgByte, 0, imgByte.Length);
fs = null;
//cmd.CommandText = "update img_test set image=@image,describe=@describe";
cmd.CommandText = "insert into img_test values(@image,@describe)";
MessageBox.Show("222");
cmd.Parameters.Add("@image", SqlDbType.Image).Value=imgByte;
//cmd.Parameters["image"].Value = imgByte;
cmd.Parameters.Add("@describe", SqlDbType.VarChar);
cmd.Parameters["@describe"].Value = this.txtFirstName.Text;
MessageBox.Show("333");
cmd.ExecuteNonQuery();
MessageBox.Show("heeh");
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
有两个思路:1、保存为2进制文件 存入数据库 2、和复制到固定文件夹 并获取图片名称 并把图片名称存入数据库。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
两种方法,第一、把图片的路径存到数据库,用的时候查询数据库中的文件路径。
第二、二进制方式存储图片。网上一查很多很多的资料
第二、二进制方式存储图片。网上一查很多很多的资料
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询