varbinary(MAX)如何插入空值

1) 在c#程序中 为 byte[] 变量赋值:eg 变量 a=new byte[0];

2) 在程序中链接sql server时

 /*photo字段是varbinary(MAX)类型,如果用户未选择文件,应该插入空值,但不知如何写代码?

尝试了,用null不行,用DBNull.Value(会导致不是空值)也不行 */

           using (SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["db"].ConnectionString))             {                 String sql = "insert into emp(name,age,photo) values(@name,@age,@photo)";                 SqlCommand cmd = new SqlCommand(sqlconn);                 cmd.Parameters.AddWithValue("@name"textBox1.Text);                 cmd.Parameters.AddWithValue("@age"Convert.ToInt32(textBox2.Text));                 byte[] b;                 if (textBox3.Text != "")//用户选择了图像文件                 {                     b = File.ReadAllBytes(textBox3.Text);                     cmd.Parameters.AddWithValue("@photo"b);                 }                 else                 {                     //如果用户未选择文件,应该插入空值,但不知如何处理?

                }                                 conn.Open();                 try                 {                     cmd.ExecuteNonQuery();                 }                 catch (Exception ex)                 {                     MessageBox.Show(ex.Message);                 }             }

正确方法:

    cmd.Parameters.AddWithValue("@photo"System.Data.SqlTypes.SqlBinary.Null);


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值