您的位置:首页 > 数据库 > MySQL

c# mysql blob(2) 实现突破存储与保存

2015-01-19 16:01 232 查看
private void button1_Click(object sender, EventArgs e)
{
//string sql = "insert into jtest(a) values(2)";
//int id = MySqlDBUtil.ExecuteNonQuery(sql);
//System.Console.WriteLine(id);
//  数据库访问操作测试

//byte[] bytes = null;
// bytes = File.ReadAllBytes(@"C:\\Test\\1000.jpg");

MySql.Data.MySqlClient.MySqlConnection conn = new MySql.Data.MySqlClient.MySqlConnection();

conn.ConnectionString = "server=localhost;user id=root;password=1234;database=mysql;pooling=false;charset=utf8";
MySql.Data.MySqlClient.MySqlCommand cmd = new MySql.Data.MySqlClient.MySqlCommand();

//cmd.CommandText = "insert into jtest(a,b) values(@a1,@b1)";
////cmd.CommandType =

//cmd.Parameters.Add("@a1", MySql.Data.MySqlClient.MySqlDbType.Int32);
//cmd.Parameters.Add("@b1", MySql.Data.MySqlClient.MySqlDbType.Blob);

//cmd.Parameters[0].Value = 100;
//cmd.Parameters[1].Value = bytes;

cmd.Connection = conn;
conn.Open();

//int affectedrows = cmd.ExecuteNonQuery();

//cmd.Dispose();//此处可以不用调用,
//conn.Close();// 离开 using 块, connection 会自行关闭

MessageBox.Show("hey");

cmd.CommandText = "select a,b from jtest where a = 100";

System.Data.Common.DbDataReader reader = cmd.ExecuteReader();

byte[] buffer = null;
if (reader.HasRows)
{
reader.Read();
long len = reader.GetBytes(1, 0, null, 0, 0);//1是picture
buffer = new byte[len];
len = reader.GetBytes(1, 0, buffer, 0, (int)len);

System.IO.MemoryStream ms = new System.IO.MemoryStream(buffer);

System.Drawing.Image image = System.Drawing.Image.FromStream(ms);

pictureBox1.Image = image;
image.Save(@"C:\Test\jingqi.jpg");

}

cmd.Dispose();
conn.Close();

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: