如何用insert语句把插入image类型记录到数据库

如题所述

第1个回答  2010-09-29
如果非要写sql语句如下,要将image转化为二进制
INSERT INTO tbl VALUES (1,0xFFFFFFFF)

注意在写入图形信息前必须先将此数据库的 'select into/bulkcopy' 属性设置为 True ,其语法如下:
use master
exec sp_dboption Im_Test ,'select into/bulkcopy' ,True

public void InsertIMG()
{

//将需要存储的图片读取为数据流
FileStream fs = new FileStream(@"D:\a.jpg", FileMode.Open,FileAccess.Read);
Byte[] b = new byte[fs.Length];
fs.Read(b , 0, Convert.ToInt32(fs.Length));
fs.Close();

using (SqlConnection conn = new SqlConnection(sqlconnstr))
{
conn.Open();
SqlCommand cmd = new SqlCommand();
cmd.Connection = conn;
cmd.CommandText = "insert into tbl(imgfile) values(@imgfile)";
SqlParameter par = new SqlParameter("@imgfile", SqlDbType.Image);
par.Value = b;
cmd.Parameters.Add(par);

int t=(int)(cmd.ExecuteNonQuery());
if (t > 0)
{
Console.WriteLine("插入成功");
}
conn.Close();
}
}本回答被网友采纳
第2个回答  2010-09-29
建议最好不要这样存储,图片只存储路径比较好
相似回答