private void button_click(object sender,System.EventArgs e)
{
FileStream fs;
string PathImage;
OleDbConnection OleConn=new OleDbConnection(@"Provide=Microsoft.Jet.OLEDB.4.0;Data Source=E:\db1.mdb");
OleConn.Open();
if(DialogResult.OK==this.openFileDialog1.ShowDialog())
{
 PathImage=this.openFileDialog1.FileName;
fs=new FileStream(PathImage,System.IO.FileMode.Open,System.IO.FileAccess.Read);
byte[] ib=new byte[fs.Length];
fs.Read(ib,0,ib.Length);
fs.Close();OleDbCommand cmd=new OleDbCommand("Insert into[image1](Image1) values (@img)",OleConn);
((OleDbParameter)cmd.Parameters.Add("@img",OleDbType.Binary)).Vaule=ib;
cmd.ExecuteNonQuery();
OleConn.Close();
MessageBox.Show("写入成功!");
}
}

解决方案 »

  1.   

    //添加和读取全给你搞定了。
    private void button1_Click(object sender, System.EventArgs e)
    {
    //get file info
    string filePath=Application.StartupPath+"\\it.jpg";
    FileInfo fi=new FileInfo(filePath);
    FileStream fileStream=fi.OpenRead();
    int length=(int)fileStream.Length;
    byte[] fileData=new byte[length];
    fileStream.Read(fileData,0,length);

    //Sql 
    OleDbCommand command = new OleDbCommand ("INSERT INTO t1 (filename,fileData)" + "VALUES (@filename,@fileData)", myConnection);
    //add para 1
    System.Data.OleDb.OleDbParameter parafileName = new OleDbParameter("@filename", System.Data.OleDb.OleDbType.VarChar,50); 
    parafileName.Value ="it.jpg";
    command.Parameters.Add(parafileName); //add para2
    System.Data.OleDb.OleDbParameter paramPersonImage = new OleDbParameter("@fileData", System.Data.OleDb.OleDbType.Binary); 
    paramPersonImage.Value = fileData;
    command.Parameters.Add(paramPersonImage); //Excute 
    this.OpenDB();
    command.ExecuteNonQuery();
    myConnection.Close();
    } private void button2_Click(object sender, System.EventArgs e)
    {
    this.OpenDB();
    string strSel="select * from t1 order by id desc";
    OleDbCommand cmd=new OleDbCommand(strSel,myConnection);
    OleDbDataReader dr=cmd.ExecuteReader();
    if(dr.Read())
    {
    byte[] by=(byte[])dr.GetValue(2);
    MemoryStream ms=new MemoryStream(by);
    Image img=Image.FromStream(ms);
    pb.Image=img;
    }
    dr.Close();
    cmd.Dispose();
    myConnection.Close();
    }
    private void button1_Click(object sender, System.EventArgs e)
    {
    //get file info
    string filePath=Application.StartupPath+"\\it.jpg";
    FileInfo fi=new FileInfo(filePath);
    FileStream fileStream=fi.OpenRead();
    int length=(int)fileStream.Length;
    byte[] fileData=new byte[length];
    fileStream.Read(fileData,0,length);

    //Sql 
    OleDbCommand command = new OleDbCommand ("INSERT INTO t1 (filename,fileData)" + "VALUES (@filename,@fileData)", myConnection);
    //add para 1
    System.Data.OleDb.OleDbParameter parafileName = new OleDbParameter("@filename", System.Data.OleDb.OleDbType.VarChar,50); 
    parafileName.Value ="it.jpg";
    command.Parameters.Add(parafileName); //add para2
    System.Data.OleDb.OleDbParameter paramPersonImage = new OleDbParameter("@fileData", System.Data.OleDb.OleDbType.Binary); 
    paramPersonImage.Value = fileData;
    command.Parameters.Add(paramPersonImage); //Excute 
    this.OpenDB();
    command.ExecuteNonQuery();
    myConnection.Close();
    } private void button2_Click(object sender, System.EventArgs e)
    {
    this.OpenDB();
    string strSel="select * from t1 order by id desc";
    OleDbCommand cmd=new OleDbCommand(strSel,myConnection);
    OleDbDataReader dr=cmd.ExecuteReader();
    if(dr.Read())
    {
    byte[] by=(byte[])dr.GetValue(2);
    MemoryStream ms=new MemoryStream(by);
    Image img=Image.FromStream(ms);
    pb.Image=img;
    }
    dr.Close();
    cmd.Dispose();
    myConnection.Close();
    }