该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
private void button2_Click(object sender, EventArgs e)
{
openFileDialog1.Filter = "*.jpg|*.jpg|*.gif|*.gif|*.BMP|*.BMP";
if (openFileDialog1.ShowDialog() == DialogResult.OK)
{
string fullpath = openFileDialog1.FileName;
FileStream fs = new FileStream(fullpath, FileMode.Open);
byte[] imagebytes = new byte[fs.Length];
BinaryReader br = new BinaryReader(fs);
imagebytes = br.ReadBytes(Convert.ToInt32(fs.Length));
string strpath = Application.StartupPath + "\\b.mdb";//b.mdb a.xls
string constr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + strpath;
OleDbConnection olecon = new OleDbConnection(constr);
olecon.Open();
OleDbCommand oledcom = new OleDbCommand("insert into 表4(图片) values(@ImageList)", olecon);
oledcom.Parameters.Add("ImageList", OleDbType.Binary);
oledcom.Parameters["ImageList"].Value = imagebytes;
oledcom.ExecuteNonQuery();
olecon.Close();
MessageBox.Show("图片保存完毕");
}
}
//上面是保存,下面是读取
private void pictureBox1_Click(object sender, EventArgs e)
{
int a = Convert.ToInt32(textBox1.Text);
a ++;
if (a > Convert.ToInt32(textBox2.Text))
{
a = a % Convert.ToInt32(textBox2.Text) + 3;
}
textBox1.Text = a.ToString();
string strpath = Application.StartupPath + "\\b.mdb";
string constr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + strpath;
OleDbConnection conn = new OleDbConnection(constr);
string strSql = "select 图片 from 表4 where 编号 LIKE '" + textBox1.Text + "'"; OleDbCommand cmd = new OleDbCommand(strSql, conn); conn.Open();
OleDbDataReader reader = cmd.ExecuteReader();
reader.Read();
MemoryStream ms = new MemoryStream((byte[])reader["图片"]); //创建一个内存读取数据流,将读取的数据库的图片以二进制的byte[]流存入内存中。 reader.Close();
conn.Close();
pictureBox1.Image = Image.FromStream(ms, true); //从刚才存储到内存的数据流中创建Image对象。