黑马程序员技术交流社区
标题:
照片在数据库中与代码中存放类型问题
[打印本页]
作者:
贰的23次方
时间:
2014-3-22 19:15
标题:
照片在数据库中与代码中存放类型问题
本帖最后由 贰的23次方 于 2014-3-30 16:01 编辑
1.在数据库中设计为varbinary(MAX)可空
2,在代码中字段为public byte?[] Photo { set; get; }
问题:出现了异常不能将nvarchar隐式转换为varbinary,是不是我的类型对应错了,正确的话应该怎么设计数据库中字段和代码中字段?
作者:
百川
时间:
2014-3-22 20:00
错误的意思就是你传入的数据格式为nvarchar而你设置的是varbinary。将数据库中的数据类型改为nvarchar应该就可以了。
可控类型?转成数据库字段需要封装两个方法,一个get,一个set。里面分别加if判断。如果为空则将DBNull和null之间进行转化。不为空就好说了。
作者:
白夜行
时间:
2014-3-22 22:25
varbinary倒是可以存,但如果是图片的话还是存到数据库image属性的字段中;
用 File.ReadAllBytes(照片文件) 来读取照片文件,然后用你一个对象接收就可以了;
往数据库中存的时候DBNull和null的转换可以这么来:
public static object ToDBNull(object value)
{
if (value == null)
{
return DBNull.Value;
}
else
{
return value;
}
}
复制代码
不过byte[] 好像就可为空的,后面不用加?吧;
作者:
流失的温度0
时间:
2014-3-22 22:46
数据库的图片类型为image类型的貌似、C#写代码的时候用byte[]。如果存的是路径则就相当于字符串了。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2