c#、asp.net怎么上传图片的相对路径到数据库,然后怎么显示在imgbox上,求代码 5

 我来答
蛇灵princess
2013-10-31 · TA获得超过446个赞
知道小有建树答主
回答量:514
采纳率:0%
帮助的人:229万
展开全部
图片保存到数据库的方法:
public void imgToDB(string sql)
{ //参数sql中要求保存的imge变量名称为@images //调用方法如:imgToDB("update UserPhoto set Photo=@images where UserNo='" + temp + "'");
FileStream fs = File.OpenRead(t_photo.Text);
byte[] imageb = new byte[fs.Length];
fs.Read(imageb, 0, imageb.Length);
fs.Close();
SqlCommand com3 = new SqlCommand (sql,con);
com3.Parameters.Add("@images", SqlDbType.Image).Value = imageb;

if (com3.Connection.State == ConnectionState.Closed) com3.Connection.Open();
try
{
com3.ExecuteNonQuery();
}
catch { }
finally
{
com3.Connection.Close();
}
}
方法一:
private void ShowImage(string sql) {
//调用方法如:
ShowImage("select Photo from UserPhoto where UserNo='" + userno +"'"); SqlCommand cmd = new SqlCommand(sql, conn);
conn.Open();
byte[] b= (byte[])cmd.ExecuteScalar();
if (b.Length 〉 0)
{
MemoryStream stream = new MemoryStream(b, true);
stream.Write(b, 0, b.Length);
pictureBox1.Image = new Bitmap(stream);
stream.Close();
}
conn.Close();
}

方法二:当在dg中选中某行时:
private void dg_MouseUp(object sender, MouseEventArgs e) {
//整行选择
if (e.Button == System.Windows.Forms.MouseButtons.Left)
{
//用户编号,姓名,性别,身份证号,籍贯,学院,系所,校区,部门,电话,照片
//显示相片
object imgobj=dg[10, dg.CurrentRow.Index].Value;
if (imgobj != null && !Convert.IsDBNull(imgobj))
{
byte[] imgb = (byte[])imgobj;
MemoryStream memStream = new MemoryStream(imgb);
try
{
Bitmap myimge = new Bitmap(memStream); this.pictureBox1.Image = myimge;
}
catch
{
DB.msgbox("从数据库读取相片失败!");
}
}
else
pictureBox1.Image = null;
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
笨蛋T3T
2013-11-13
知道答主
回答量:43
采纳率:0%
帮助的人:4.5万
展开全部

你研究一下吧

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式