收录日期:2020/10/31 00:26:57 时间:2016/07/11 11:05:15 标签:C#
using System; 
using System.Collections.Generic; 
using System.ComponentModel; 
using System.Data; 
using System.Drawing; 
using System.Text; 
using System.Windows.Forms; 
using System.Data.OleDb; 
using System.IO; 
namespace pic11 

public partial class Form1 : Form 

public static byte[] imgBytesIn; 
public Form1() 

InitializeComponent(); 


private void button1_Click(object sender, EventArgs e) 

string MID="2"; 
string strg = Application.StartupPath.ToString(); 
strg += @"\score.mdb"; 
string connstr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + strg; 
OleDbConnection con = new OleDbConnection(connstr); 
con.Open(); 
StringBuilder strSql = new StringBuilder(); 
strSql.Append("update 学生 Set Photo=@Photo where ID="+MID); 
OleDbCommand cmd = new OleDbCommand(strSql.ToString(),con); 
cmd.Parameters.Add("@Photo", SqlDbType.Binary).Value = imgBytesIn; 
cmd.ExecuteNonQuery(); 
con.Close(); 
MessageBox.Show("sucess"); 



private void button2_Click(object sender, EventArgs e) 

//Read_Image(openFileDialog1,pictureBox1); 


this.openFileDialog1.Filter = "*.jpg|*.jpg|*.bmp|*.bmp"; //指定OpenFileDialog控件打开的文件格式 
if (openFileDialog1.ShowDialog(this) == DialogResult.OK) //如果打开了图片文件 

try 

this.pictureBox1.Image = System.Drawing.Image.FromFile(openFileDialog1.FileName); //将图片文件存入到PictureBox控件中 
string strimg = openFileDialog1.FileName.ToString(); //记录图片的所在路径 
FileStream fs = new FileStream(strimg, FileMode.Open, FileAccess.Read); //将图片以文件流的形式进行保存 
BinaryReader br = new BinaryReader(fs); 
imgBytesIn = br.ReadBytes((int)fs.Length); //将流读入到字节数组中 

catch 

MessageBox.Show("您选择的图片不能被读取或文件类型不对!", "错误", MessageBoxButtons.OK, MessageBoxIcon.Warning); 
pictureBox1.Image = null; 




private void button3_Click(object sender, EventArgs e) 

Application.Exit(); 


public void ShowData_Image(byte[] DI, PictureBox Ima) //显示数据库图片 

byte[] buffer = DI; 
MemoryStream ms = new MemoryStream(buffer); 
this.pictureBox2.Image = Image.FromStream(ms); 


private void button4_Click(object sender, EventArgs e) 

ShowData_Image(imgBytesIn, pictureBox2); 


}
问题补充:为什么我存的数据库里看不到任何数据而且当数据库中ID已经有的时候就会出现“标准表达式中数据类型不匹配。”的错误。 
还有就是怎么样讲图像从数据库中显示出来? 

怎样将图片存到文件夹里?
“标准表达式中数据类型不匹配”
搂主代码里面的:SqlDbType.Binary应该是OleDbType.Binary
引用 1 楼 net5i 的回复:
“标准表达式中数据类型不匹配” 
搂主代码里面的:SqlDbType.Binary应该是OleDbType.Binary


支持楼上说的。楼主可以试试

人好少呀 如何将数据库中取得的数据直接放到数组中 有谁用过Daikin\'s Scenarist NT软件呢?急急 哪位能告诉俺,球形磁铁的磁场分布情况和氰化物致命的机理?[另有一秘密说与大家] 先签个到吧 ◆◆◆◆◆◆●已经上传完成偶有一个好东东,<中华诗词库>,收录了上万首诗词(古代的现代的),支持分类和检索,以后写情书一定有用!从里面找出几首情诗出来,让你的MM感动的痛哭流涕!!, 请问一般的迟纳金如何计算? 关于Winsock问题…… 92分!可以加分 关于字符串的问题! 这到底是怎么回事?(kurtzjs尤其应该看看) 什么时候能见到.net手册 我的机器是98年买的,p200的cpu,如果现在要升级的话,什么样的cpu能用到原来的主板上? 用api怎样做窗口的工具条? 提交后,如何取得一个