以下是我将图片插入数据库的代码:
using System.IO;
public void image_to_sql()
{
FileInfo finfo = new FileInfo(@"C:\Users\yaoyan\Desktop\DeviceApplication12\1.jpg"); //绝对路径
if (finfo.Exists)
{
//读取文件内容,写入byte数组
FileStream stream = finfo.OpenRead();
byte[] content = new byte[stream.Length];
// stream.Read(content, 0, content.Length);
stream.Read(content ,0,Convert.ToInt32(stream .Length ) ); string sql = "Insert into shuju(t) values(@Content)";
sqlCom.Parameters.Add("@Content", SqlDbType.Image, (int)finfo.Length, "t"); //注意,此处参数Size为写入的字节数
sqlCom.Parameters["@Content"].Value = content; //为参数赋值
stream.Close();
try
{
sqlCom.CommandText = sql;
sqlCom.ExecuteNonQuery();
}
catch (Exception ex)
{
MessageBox.Show("image_to_sql()\r\n" + ex.Message);
}
}
else {
MessageBox.Show("no exit image");
}
}
调试第一行就出错了,提示:未处理NotSupportedException!请大家帮忙!还有这绝对路径的格式是对的吗?我用的是Windows mobile 6.0,vs 2005,SQL Server 2005 Mobile Edition
using System.IO;
public void image_to_sql()
{
FileInfo finfo = new FileInfo(@"C:\Users\yaoyan\Desktop\DeviceApplication12\1.jpg"); //绝对路径
if (finfo.Exists)
{
//读取文件内容,写入byte数组
FileStream stream = finfo.OpenRead();
byte[] content = new byte[stream.Length];
// stream.Read(content, 0, content.Length);
stream.Read(content ,0,Convert.ToInt32(stream .Length ) ); string sql = "Insert into shuju(t) values(@Content)";
sqlCom.Parameters.Add("@Content", SqlDbType.Image, (int)finfo.Length, "t"); //注意,此处参数Size为写入的字节数
sqlCom.Parameters["@Content"].Value = content; //为参数赋值
stream.Close();
try
{
sqlCom.CommandText = sql;
sqlCom.ExecuteNonQuery();
}
catch (Exception ex)
{
MessageBox.Show("image_to_sql()\r\n" + ex.Message);
}
}
else {
MessageBox.Show("no exit image");
}
}
调试第一行就出错了,提示:未处理NotSupportedException!请大家帮忙!还有这绝对路径的格式是对的吗?我用的是Windows mobile 6.0,vs 2005,SQL Server 2005 Mobile Edition
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货