//存储
private void MemoryImage()
{
string sql = "";
//string conn =
"Provider=SQLNCLI;Data
Source=192.168.0.9,1433;Database=WebDown;UID=sa;PWD=111122;";
Stream ms;
byte[]
picbyte;
OpenFileDialog fdSelectPic = new
OpenFileDialog();
if (ofdSelectPic.ShowDialog() ==
DialogResult.OK)
{
if ((ms =
ofdSelectPic.OpenFile()) != null)
{
picbyte = new byte[ms.Length];
ms.Position =
0;
ms.Read(picbyte, 0,
Convert.ToInt32(ms.Length));
//连接数据库
SqlConnection conn = new SqlConnection();
conn.ConnectionString = "Data
Source=192.168.0.9,1433;Database=WebDown;UID=sa;PWD=111122;";
sql = "Insert into
LibraryCover(Cover) values(@UpdateImage)";
SqlCommand cmd
= new SqlCommand(sql, conn);
cmd.Parameters.Add("@UpdateImage", SqlDbType.VarBinary);
cmd.Parameters["@UpdateImage"].Value = picbyte;
conn.Open();
cmd.ExecuteNonQuery();
conn.Close();
ms.Close();
}
}
MessageBox.Show("完成!");
}
//读取
private void ShowImage()
{
string sql = "";
sql = "select Cover from
LibraryCover where LibID=1";
SqlConnection conn = new
SqlConnection();
conn.ConnectionString = "Data
Source=192.168.0.9,1433;Database=WebDown;UID=sa;PWD=111122;";
SqlCommand cmd = new SqlCommand(sql,conn);
conn.Open();
SqlDataReader reader =
cmd.ExecuteReader();
reader.Read();
MemoryStream
ms = new MemoryStream((byte[])reader["Cover"]);
Image image =
Image.FromStream(ms, true);
reader.Close();
conn.Close();
pictureBox1.Image = image;
}
//批量存储
private void button12_Click(object sender,
EventArgs e)
{
FolderBrowserDialog FBD = new
FolderBrowserDialog();
FBD.ShowDialog();
DBImages(FBD.SelectedPath);
}
///
/// 图片二进制存SQL库
///
/// 图片所在文件夹
private void DBImages(string
path)
{
Stream ms;
string sql =
"";
byte[] picbyte;
string FolderName =
"";
string[] Folders;
string connStr = "Data
Source=192.168.0.9,1433;Database=WebDown;UID=sa;PWD=111122;";
SqlConnection conn = new SqlConnection(connStr);
Folders =
Directory.GetFiles(path);
foreach (string folder in
Folders)
{
if ((ms = File.OpenRead(folder))!=
null)
{
picbyte = new
byte[ms.Length];
ms.Position = 0;
ms.Read(picbyte, 0, Convert.ToInt32(ms.Length));
sql = "insert into
LibraryCover(ImageName,Cover) values(@ImageName,@Cover)";
SqlCommand cmd = new SqlCommand(sql, conn);
cmd.CommandType =
CommandType.Text;
FolderName =
Path.GetFileNameWithoutExtension(folder);
cmd.Parameters.Add("@ImageName", SqlDbType.VarChar, 255).Value =
FolderName;
cmd.Parameters.Add("@Cover",
SqlDbType.VarBinary).Value = picbyte;
conn.Open();
cmd.ExecuteNonQuery();
conn.Close();
ms.Close();
}
}
MessageBox.Show("存储完成!");
}
private void button13_Click(object sender,
EventArgs e)
{
FolderBrowserDialog FBD = new
FolderBrowserDialog();
FBD.ShowDialog();
getImageShow(FBD.SelectedPath);
}
///
/// sql库二进制图片显示在存储器上
///
/// 要存储图片的位置
private void
getImageShow(string path)
{
string sql =
"";
string conn = "Data
Source=192.168.0.9,1433;Database=WebDown;UID=sa;PWD=111122;";
sql
= "select ImageName,Cover from LibraryCover order by LibID";
SqlDataReader sdr = GetList(conn,sql);
while
(sdr.Read())
{
byte[] bytes =
(byte[])sdr["Cover"];
FileStream fs = new
FileStream(path+@"\" + sdr["ImageName"] + ".jpg", FileMode.Create,
FileAccess.Write);
fs.Write(bytes, 0,
bytes.Length);
fs.Flush();
fs.Close();
}
MessageBox.Show("完成!");
}
public SqlDataReader GetList(string conn, string Sql)
{
SqlConnection myConnection = new
SqlConnection(conn);
SqlCommand myCommand = new SqlCommand(Sql,
myConnection);
myConnection.Open();
SqlDataReader result =
myCommand.ExecuteReader(CommandBehavior.CloseConnection);
return
result;
}
private void getImage()
{
int num = 0;
string path =
@"D:\bookpic";
Stream ms;
string sql =
"";
byte[] picbyte;
FileInfo[]
Folders;
string[] files;
string FilePath =
"";
string connStr = "Data
Source=192.168.0.200,1433;Database=MISTemp;UID=sa;PWD=111122;";
SqlConnection conn = new SqlConnection(connStr);
DirectoryInfo DI
= new DirectoryInfo(path);
Folders =
DI.GetFiles("*.*",SearchOption.AllDirectories);
foreach (FileInfo
file in Folders)
{
num++;
txt_num.Text = num.ToString();
FilePath =
file.FullName.Replace(@"D:\", "").Replace(@"\","/");
if ((ms
= File.OpenRead(file.FullName)) != null)
{
picbyte = new byte[ms.Length];
ms.Position = 0;
ms.Read(picbyte, 0,
Convert.ToInt32(ms.Length));
sql = "update shop_books set
Cover=@Cover where bookpic='" + modsql(FilePath) + "'";
SqlCommand cmd = new SqlCommand(sql, conn);
cmd.CommandType =
CommandType.Text;
cmd.CommandTimeout =
10000;
cmd.Parameters.Add("@Cover",
SqlDbType.VarBinary).Value = picbyte;
conn.Open();
cmd.ExecuteNonQuery();
conn.Close();
ms.Close();
}
}
MessageBox.Show("存储完成!");
}
public string modsql(string
sql)
{
return sql.Replace("'", "''");
}
//Image写入XML
using System.IO;
using
System.Runtime.Serialization.Formatters.Soap;
string MyFile = @"D:\数据处理\image.xml";
string imageFile = @"G:\zengwei.jpg";
Stream MyStream;
SoapFormatter MyFormatter =new SoapFormatter();
private void button1_Click(object sender,
EventArgs e)
{
try
{
MyStream = new FileStream(MyFile, FileMode.Create, FileAccess.Write,
FileShare.None);
MyFormatter.Serialize(MyStream,
pictureBox1.Image);
MyStream.Close();
MessageBox.Show("完成!");
}
catch (Exception
ex)
{
}
}
//读取XML显示IMAGE
private void
button2_Click(object sender, EventArgs e)
{
try
{
MyStream = new FileStream(MyFile,
FileMode.Open, FileAccess.Read, FileShare.None);
pictureBox1.Image =
(Bitmap)MyFormatter.Deserialize(MyStream);
MyStream.Close();
}
catch (Exception
ex)
{ }
}
private
void button3_Click(object sender, EventArgs e)
{
pictureBox1.Image = Image.FromFile(imageFile);
}