A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

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[];

评分

参与人数 1技术分 +1 收起 理由
苏波 + 1

查看全部评分

1 个回复

倒序浏览
楼主,存储图片的方式不是这样的!一般不在数据库中直接存取一张图片,而是存取这张图片的图片名!数据库中image字段用nvachar,类中用string!图片上传到指定的文件夹下面,例如images文件夹下!然后图片的命名一般将系统的当前时间转换为支付串作为图片的名字!在调用这张图片的时候,把图片所在的路径写对!然后路径后面跟上你在数据中获得的图片的图片名!在这样就可以实现存储图片和调用图片的功能!在asp.net中都这样用,至少我目前还没见过用别的方式存储图片的!

评分

参与人数 1技术分 +1 收起 理由
苏波 + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马