将图像插入mysql数据库时出现问题
本文关键字:问题 数据库 图像 插入 mysql | 更新日期: 2023-09-27 18:00:19
我正在尝试从windows应用程序向mysql数据库插入一个映像,它已经成功执行,但我的表中没有数据。
在这里我使用了以下代码。执行成功,根据我的表,电子邮件id和图像必须存储在表中,但这两个字段都保存为空。
public void LoadImages()
{
MySqlConnection cn = new MySqlConnection(connstring);
cn.Open();
string image = txtLogo.Text;
byte[] ImageData;
FileStream fs = new FileStream(image, FileMode.Open, FileAccess.Read);
BinaryReader br = new BinaryReader(fs);
ImageData = BitConverter.GetBytes(fs.Length);
br.Close();
fs.Close();
MySqlParameter parImage = new MySqlParameter();
parImage.ParameterName = "?Images";
MySqlCommand cmd = new MySqlCommand("insert into Fn_Pictures(Images,Email)values(?Images,'" + txtEmailIdText + "')", cn);
parImage.MySqlDbType = MySqlDbType.MediumBlob;
parImage.Size = 3000000;
parImage.Value = ImageData;//here you should put your byte []
cmd.Parameters.Add(parImage);
cmd.ExecuteNonQuery();
cn.Close();
}
BitConverter.GetBytes(fs.Length);
这将以字节[4]的形式返回长度,而不是读取图像数据。请查看此处以阅读文件:http://msdn.microsoft.com/en-us/library/system.io.file.readallbytes(v=vs.110).aspx
您可能还想将parImage.Size设置为ImageData.length,而不是3000000。