向sqlce 里插入和取出一个Image

来源:互联网 发布:centos怎么设置中文 编辑:程序博客网 时间:2024/04/29 21:53
存图片
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");  
原创粉丝点击