c# 怎么把byte[]存入数据库,byte[]可以为null

如图我想把图片做二进制存入数据库,但是该字段是可以为null存入数据库的,但如果想图片中那样写,会有异常,该怎么实现存入byte[]为null的情况下,正常存到数据库呢?... 如图我想把图片做二进制存入数据库,但是该字段是可以为null存入数据库的,但如果想图片中那样写,会有异常,该怎么实现存入byte[]为null的情况下,正常存到数据库呢? 展开
 我来答
仙戈雅3n
2016-12-02 · TA获得超过5790个赞
知道大有可为答主
回答量:2398
采纳率:75%
帮助的人:882万
展开全部
判断下就好了,如果为null,就不插入该字段,但数据库要把该字段设为允许NULL。
追问
你这方法我知道,之前也想这样做来着,但是这样的话,相当于改sql语句,我想要的是不改sql语句,直接在参数这里判断。
追答

好吧,我会这样子做:

string cmdText = "insert into test(Name,ProfileImage) values(@Name,@ProfileImage)";
string name = "foo";
byte[] bytes = null;
SqlParameter[] sps = new SqlParameter[2];
sps[0] = new SqlParameter("@Name", name);
sps[1] = new SqlParameter("@ProfileImage",System.Data.SqlDbType.Image);
sps[1].Value = bytes == null ? DBNull.Value : null; // 我是说在这里判断
using (SqlConnection conn=new SqlConnection(connectionString)){
     using (SqlCommand cmd=new SqlCommand(cmdText,conn)){
          cmd.Parameters.AddRange(sps);
          conn.Open();
          cmd.ExecuteNonQuery();// Ok。
      }
}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式