Q317670 HOW TO: Copy Picture from Database Directly to PictureBox in VB
http://support.microsoft.com/support/kb/articles/q317/6/70.asp
http://support.microsoft.com/support/kb/articles/q317/6/70.asp
解决方案 »
- 在做一个任务,就是把EXCEL数据导入到datagridview中,求详细代码!
- C#中利用双缓冲绘图问题
- datagridview怎样显示隐藏掉的行
- 将gif格式的图片放入imageList中,然后用picturebox调用,结果图片显示静态的,怎么解决?
- c#窗体问题1
- 我想写这么个功能软件,实现打开一个IE窗口时自动填写两个文本框和点击一个RadioButton,求教
- 简单问题,大家帮忙看下.
- vs2008文件打包,为什么有时候会把.net3.5打进去
- 请教制作安装包的问题!用.net2003自带的安装部署程序制作,如何运行自定义的.bat文件?
- 如何用C#实现类李阳疯狂英语的多媒体光盘
- C#如何实现抓屏幕,然后保存为一个jpg文件?
- (讨论)从DELPHI转到MS C#还是C# BUILDER?二者有什么不同?
FileStream fs = new FileStream(strFile, FileMode.Open, FileAccess.Read);
byte[] bytes = new byte[(int)fs.Length];
fs.Read(bytes, 0, bytes.Length);
fs.Close();SqlConnection conn =
new SqlConnection("server=pany;database=pany;uid=sa;pwd=123");
SqlCommand cmd =
new SqlCommand("insert into t_imgs (imgData) values (@imgData)", conn);
cmd.Parameters.Add("@imgData", SqlDbType.Binary, bytes.Length).Values = bytes;
conn.Open();
cmd.ExecuteNonQuery();
conn.Close();
根本不要 放入 图片 文件 这样 慢只要存入 图片的 路径 就可以了
然后让 系统自己找 图片
如<img src='<%# GetImage() %>'>
注 GetImage()是 自己建立的函数 目的是返回 存在数据库 里面的路径
我像 GetImage()这种函数 因该会写的 吧
/// 添加图片到指定的数据表
/// </summary>
/// <param name="PostFile">上传图片的流</param>
/// <param name="TableName">数据表名称</param>
/// <param name="PicField">图片字段名称</param>
/// <param name="PicTypeFiled">图片类型字段名称</param>
/// <param name="PicSizeField">图片大小字段名称</param>
/// <param name="AddCondition">上传此图片的SQL条件(IE:UserID=1)</param>
public void AddPicture(System.Web.HttpPostedFile PostFile,string TableName,string PicField,string PicTypeFiled,string PicSizeField,string AddCondition)
{
if(PostFile==null)
throw new myException("上传文件的流不能够为空!");
//文件类型
string FileType=PostFile.ContentType;
//文件大小
Int32 FileLength=PostFile.ContentLength;
//图象文件临时储存Byte数组
Byte[] FileByteArray = new Byte[FileLength];
//建立数据流对像
Stream StreamObject = PostFile.InputStream;
//读取图象文件数据,FileByteArray为数据储存体,0为数据指针位置、FileLnegth为数据长度
StreamObject.Read(FileByteArray,0,FileLength);
System.Web.HttpContext.Current.Response.End(); //生SQL语句
string strSQL=" Update " + TableName + " set " + PicField + "=@Image,"+ PicTypeFiled + "=@ContentType," + PicSizeField + "=@ImageSize where 1=1 And " + AddCondition;
//判断是否为SQLServer数据库
if (isSQLDataBase)
{
//此处为SQLServer数据库的处理
SqlConnection ObjConn=new SqlConnection(Connectionstring);
ObjConn.Open();
SqlCommand ObjComm=new SqlCommand(strSQL,ObjConn);
//添加参数
ObjComm.Parameters.Add("@Image",System.Data.SqlDbType.Binary,FileLength).Value = FileByteArray;
ObjComm.Parameters.Add("@ContentType",SqlDbType.VarChar,20).Value = FileType;
ObjComm.Parameters.Add("@ImageSize", SqlDbType.Decimal,9).Value = FileLength;
ObjComm.ExecuteNonQuery();
ObjConn.Close();
}
else
{
//此处为其他数据的处理,如Oracle
OleDbConnection ObjConn=new OleDbConnection(Connectionstring);
ObjConn.Open();
OleDbCommand ObjComm=new OleDbCommand(strSQL,ObjConn);
ObjComm.Parameters.Add("@Image",System.Data.OleDb.OleDbType.Binary,FileLength).Value = FileByteArray;
ObjComm.Parameters.Add("@ContentType",System.Data.OleDb.OleDbType.VarChar,20).Value = FileType; //记录文件类型
ObjComm.Parameters.Add("@ImageSize",System.Data.OleDb.OleDbType.Numeric,9).Value = FileLength;
ObjComm.ExecuteNonQuery();
ObjConn.Close();
}
}