以及如何再WinForm中把他显示出来?
谢谢

解决方案 »

  1.   

    using System;
    using System.Collections;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Web;
    using System.Web.SessionState;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Web.UI.HtmlControls;
    using System.IO;
    using System.Data.OleDb;
    namespace MikeCat
    {
    /// <summary>
    /// MikeCat_Upload_DataBase 的摘要说明。
    /// ************************************************
    /// 作者:迈克老猫(张琳)
    /// 功能:上传文件至数据库并显示
    /// ************************************************
    /// </summary>
    public class MikeCat_Upload_DataBase : System.Web.UI.Page
    {
    protected System.Web.UI.WebControls.Label strStatus;
    protected System.Web.UI.WebControls.Button UploadButton;
    protected System.Web.UI.HtmlControls.HtmlInputFile File1;
    protected System.Web.UI.WebControls.DataGrid DataGrid1;
    protected System.Web.UI.WebControls.Label Label1;
    string connstr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + HttpContext.Current.Server.MapPath("northwind.mdb"); private  void  Page_Load(object  sender,  System.EventArgs  e)    
    {    
    mfbind();
    }
    private void mfbind()
    {
    string  sql="select * from uploadfile";
    OleDbConnection conn=new OleDbConnection(connstr);       
    OleDbCommand cmd=new OleDbCommand(sql,conn);       
    conn.Open();       
    DataGrid1.DataSource=cmd.ExecuteReader();       
    DataGrid1.DataBind();
    conn.Close();
    }
    #region Web 窗体设计器生成的代码
    override protected void OnInit(EventArgs e)
    {
    //
    // CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
    //
    InitializeComponent();
    base.OnInit(e);
    }

    /// <summary>
    /// 设计器支持所需的方法 - 不要使用代码编辑器修改
    /// 此方法的内容。
    /// </summary>
    private void InitializeComponent()
    {    
    this.DataGrid1.ItemDataBound += new System.Web.UI.WebControls.DataGridItemEventHandler(this.DataGrid1_ItemDataBound);
    this.UploadButton.Click += new System.EventHandler(this.UploadButton_Click);
    this.Load += new System.EventHandler(this.Page_Load); }
    #endregion private void UploadButton_Click(object sender, System.EventArgs e)
    {
    try
    {
    Stream mffileStream;
    int mffileSize;
    string mffileName;
    string mffileContentType;
    string mffileUploadedName;
    mffileStream  = this.File1.PostedFile.InputStream;      //二进制流
    mffileSize =  this.File1.PostedFile.ContentLength;      //文件大小
    mffileUploadedName = this.File1.PostedFile.FileName;    //文件路径
    byte[] mffileBody=new byte[mffileSize];
    mffileContentType = this.File1.PostedFile.ContentType;  //文件类型
    mffileName =mffileUploadedName.Substring(mffileUploadedName.LastIndexOf('\\')+1);
    int n = mffileStream.Read(mffileBody, 0, mffileSize);
     
    //写库法一:
    OleDbConnection conn = new OleDbConnection(connstr);
    String sql ="Select * from uploadfile";
    OleDbDataAdapter da = new OleDbDataAdapter(sql,conn);
    DataSet ds = new DataSet();
    da.Fill(ds);  
    OleDbCommandBuilder  cb  =  new OleDbCommandBuilder(da);
    DataRow row = ds.Tables[0].NewRow();
    row["filebody"] = mffileBody;   //保存数据到数据库为二进制
    row["filename"] = mffileName;       //保存文件名称
    row["filetype"] = mffileContentType;       //保存文件类型
    ds.Tables[0].Rows.Add(row);
    da.Update(ds);  //写库法二:
    // string strCnn= "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + HttpContext.Current.Server.MapPath("northwind.mdb");
    OleDbConnection conn1 = new OleDbConnection(connstr);    
    OleDbCommand cmd=new OleDbCommand("insert into uploadfile(filebody,filename,filetype) values(@filebody,@filename,@filetype)",conn1);
    OleDbParameter parambody=new OleDbParameter("@filebody",OleDbType.VarBinary);
    parambody.Value=mffileBody;
    cmd.Parameters.Add(parambody);
    OleDbParameter paramname=new OleDbParameter("@filename",OleDbType.VarChar,50);
    paramname.Value=mffileName;
    cmd.Parameters.Add(paramname);
    OleDbParameter paramtype=new OleDbParameter("@filetype",OleDbType.VarChar,50);
    paramtype.Value=mffileContentType;
    cmd.Parameters.Add(paramtype);
    conn1.Open(); 
    int m=cmd.ExecuteNonQuery();       
    conn1.Close(); strStatus.Text="文件成功写入数据库!可以继续上传";
    }
    catch(Exception ex)
    {
    strStatus.Text=ex.Message.ToString();
    }
    } private void DataGrid1_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
    {
    if(e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
    {
    int fid=int.Parse(DataGrid1.DataKeys[(int)e.Item.ItemIndex].ToString().Trim());
    ((System.Web.UI.HtmlControls.HtmlImage)e.Item.FindControl("img1")).Src="ThumbnailImage.aspx?fid="+fid+"&width=150&height=150";
    }
    }
    }
    }
      

  2.   

    你可以在SQL里面保存你的图片路径,在窗体读取