现在的位置: 首页 > 综合 > 正文

向sqlce 里插入和取出一个Image

2013年10月17日 ⁄ 综合 ⁄ 共 1500字 ⁄ 字号 评论关闭
存图片
string assemblyFolder = System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().GetName().CodeBase);
string str = "Data Source='" + assemblyFolder + "//MobileService.sdf'";
SqlCeConnection conn = new SqlCeConnection(str);
conn.Open();
Image ImageI = new Bitmap(assemblyFolder + "//1.jpg");
string cmdstr = "insert into job(aa,bb,cc,dd) values(77,'fieldbb','fieldcc',@Parmfan)";
SqlCeCommand cmd = conn.CreateCommand();
cmd.CommandText = cmdstr;

SqlCeParameter param = new SqlCeParameter();
param.ParameterName = "@Parmfan";
param.SqlDbType = SqlDbType.Image;

cmd.Parameters.Add(param);
cmd.Prepare();
MemoryStream imageStream = new MemoryStream();
ImageI.Save(imageStream, System.Drawing.Imaging.ImageFormat.Bmp);
byte[] bytes = imageStream.GetBuffer();
cmd.Parameters["@Parmfan"].Size = bytes.Length;
cmd.Parameters["@Parmfan"].Value = bytes;

cmd.ExecuteNonQuery();
MessageBox.Show("ok");

取图片
string assemblyFolder = System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().GetName().CodeBase);
string str = "Data Source='" + assemblyFolder + "//MobileService.sdf'";
SqlCeConnection conn = new SqlCeConnection(str);
conn.Open();
string cmdstr = "select * from job";
SqlCeCommand cmd = conn.CreateCommand();
cmd.CommandText = cmdstr;
cmd.ExecuteReader();
SqlCeDataAdapter DataA = new SqlCeDataAdapter(cmd);
DataSet ds = new DataSet();
DataA.Fill(ds,"jobtable");

byte[] bytes = (byte[])ds.Tables["jobtable"].Rows[0].ItemArray.GetValue(3);
MemoryStream imageStream = new MemoryStream(bytes);
Image ImageI = new Bitmap(imageStream);

pictureBox1.Image = ImageI;
MessageBox.Show("ok");  

抱歉!评论已关闭.