判断下就好了,如果为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。
}
}