黑马程序员技术交流社区

标题: 存储到数据库Image提示nvarchar与image数据类型不匹配?? [打印本页]

作者: 黑马李蒙    时间: 2013-4-16 10:54
标题: 存储到数据库Image提示nvarchar与image数据类型不匹配??
SqlParameter("@Photo",DBNull.Value)存储到数据库Image提示nvarchar与image数据类型不匹配??
Employee()为Model,即Photo为表Employee中的一个字段
byte[] photo{get;set;}
Employee emp=new Employee();
if(photo==null)
{
return DBNull.Value;
}
else
{
return photo;
}
emp.Photo=photo;
ExecuteNonQuery("insert into Employee(Photo) values(@Photo)",new SqlParameter("@Photo",emp.Photo));
当执行插入语句,emp.Photo的值为DBNull.Value时提示:操作数类型冲突: nvarchar 与 image 不兼容;
emp.Photo的值不为空时,成功,求解?????????
数据库中Photo所对应字段为Image类型,C#中定义photo为byte[];
作者: 小人物    时间: 2013-4-16 22:41
楼主,存储图片的方式不是这样的!一般不在数据库中直接存取一张图片,而是存取这张图片的图片名!数据库中image字段用nvachar,类中用string!图片上传到指定的文件夹下面,例如images文件夹下!然后图片的命名一般将系统的当前时间转换为支付串作为图片的名字!在调用这张图片的时候,把图片所在的路径写对!然后路径后面跟上你在数据中获得的图片的图片名!在这样就可以实现存储图片和调用图片的功能!在asp.net中都这样用,至少我目前还没见过用别的方式存储图片的!




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2