自己搜索一下image或者blob数据读写问题。或者找正在上计算机专业的、学过数据库使用入门课程的同学问一下。
解决方案 »
- asp c#文件下载问题
- 选择 datagirdview多行后,实现右键复制功能
- 装载一个DLL到Winlogon进程,help!!!!!!
- 读一文件,取出Classname,如何实例化该类
- C#中是否有显示一行数据的控件?左边是列名称,右边显示列值;是Windows程序
- 200分请教,NAT利用什么原理实现的端口映射?如何用C#实现?
- ********接口继承和类继承的问题********
- C# 读取中文字符占位问题
- C#中怎么样将鼠标锁定在某个特定的form上?
- TreeNode 如何隐藏?
- 新手问下c#一些属性问题
- winform控件当中的"Pointer"组件,好像根本就不能添加到窗口里面啊
private static void TestDemo()
{
using (SqlConnection cn = new SqlConnection("Server=.;UID=sa;Pwd=frank;Database=northwind"))
{
using (SqlCommand cmd = new SqlCommand(" UPDATE image_table SET pic=@pic where username=@username", cn))
{
cmd.Parameters.Add("@pic", SqlDbType.Image).Value = new byte[] { };//你需要修改的图片的二进制流(参考你的File.ReadAllBytes(this.pictureBox1.ImageLocation))
cmd.Parameters.Add("@username",SqlDbType.NChar).Value="你的用户名";
cn.Open();
int num= cmd.ExecuteNonQuery();
if (num > 0)
{
//MessageBox.Show("图片插入成功!");
}
}
}
}
public static SqlConnection Conn = new SqlConnection(connstring);//连接数据库对象
public static SqlConnection Conn = new SqlConnection(connstring);//连接数据库对象
可以啊,图片说白了就是一段二进制数据,你想放哪都行
把Insert改成Update,后面还用传参的方式,不就行了
丢个完整的例子 我怎么感觉很奇怪 新人 没搞过这种 以前做mYqq 都没有用到过图片上传
cmd.Parameters.Add("@pic", SqlDbType.Image).Value = new byte[] { }; 这上传的是那个控件里的图片 求解我到数据库里去看 结果显示 <二进制数据> ?
protected void imgbtnCreate_Click(object sender, ImageClickEventArgs e)
{
string PerHomeName=tbPerHomeName.Text;//获取空间名
string PerHomeSign=txtPerSign.Text; //获取个性签名
string imgPath = uploadFile.PostedFile.FileName;//获取文件件名
string lastName = imgPath.Substring(imgPath.LastIndexOf(".") + 1);//获取文件上传后缀名
SqlConnection conn = new SqlConnection(ConfigurationManager.AppSettings["conStr"]);
conn.Open();
if (uploadFile.PostedFile.FileName != "" && lastName.ToLower() == "jpg" || lastName.ToLower() == "gif")
{
if (uploadFile.PostedFile.ContentLength > 40960)
{
Response.Write("<script language='javaScript'>alert('你上传的图片超过了40KB!')</script>");
return;
}//CodeGo.net/
int imgLength = uploadFile.PostedFile.ContentLength;//获取上传文件大小
Byte[] imageData = new Byte[imgLength]; //定义Byte数组
HttpPostedFile hp = uploadFile.PostedFile;//创建访问客户端上传文件的对象
Stream imagestream = hp.InputStream;//创建数据流对象
//将图片数据放到image数据对象实例中,其中0代表数组指针的起始位置,imagelength表示要读取流的长度
imagestream.Read(imageData, 0, imgLength);
string sqlstr = "insert into PerHomeDetail(PerHomeName,PerHomeSign,PerHomeLogo)values('" + PerHomeName + "','" + PerHomeSign + "',@ImageData)";
SqlCommand comm = new SqlCommand(sqlstr, conn);
comm.Parameters.Add("@ImageData", SqlDbType.Image);
comm.Parameters["@ImageData"].Value = imageData;
comm.ExecuteNonQuery();
conn.Close();
Response.Write("<Script>alert('个人空间创建成功!')</Script>");
}
else
{
Response.Write("<script>alert('上传头像不能为空,且格式必须为gif或jpg!');location='javascript:history.go(-1)'</script>");
}
}
丢个完整的例子 我怎么感觉很奇怪 新人 没搞过这种 以前做mYqq 都没有用到过图片上传
cmd.Parameters.Add("@pic", SqlDbType.Image).Value = new byte[] { }; 这上传的是那个控件里的图片 求解我到数据库里去看 结果显示 <二进制数据> ?
数据库显示二进制是对的,说明你数据已经插入进去了,要看的话需要将二进制数据转换成bitmap数据查看