技术开发 频道

向sqlce 里插入和取出一个Image


【IT168技术文档】

  存图片
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");
0
相关文章