1个回答
展开全部
插入的数据格式不对呀,你要插入图片,得先把图片文件读取为byte数组类型的格式,这个可以在程序里面实现,sql貌似不能直接操作的.给你一段.net的windows程序代码看看吧
/// <summary>
/// 存储图片
/// </summary>
/// <param name="openF">打开文件对话框</param>
/// <param name="cb">下拉列表框</param>
/// <param name="pb">图片框</param>
public void SaveImage(OpenFileDialog openF, ComboBox cb, PictureBox pb)//将图片以二进制存入数据库中
{
try
{
string strimg = openF.FileName.ToString(); //记录图片的所在路径
FileStream fs = new FileStream(strimg, FileMode.Open, FileAccess.Read); //将图片以文件流的形式进行保存
BinaryReader br = new BinaryReader(fs);
byte[] imgBytesIn = br.ReadBytes((int)fs.Length); //将流读入到字节数组中
conn.Open();
StringBuilder strSql = new StringBuilder();
strSql.Append("insert into tb_pic(name,img) values(@Name,@Photo)");
SqlCommand cmd = new SqlCommand(strSql.ToString(), conn);
cmd.Parameters.Add("@Photo", SqlDbType.Binary).Value = imgBytesIn;
cmd.Parameters.Add("@Name", SqlDbType.Text).Value = strimg;
if (cmd.ExecuteNonQuery() == 1)
MessageBox.Show("上传成功");
conn.Close();
BindPicId(cb);
}
catch (Exception exp)
{
MessageBox.Show(exp.ToString());
}
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询