如何向int类型插入空值

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何向int类型插入空值相关的知识,希望对你有一定的参考价值。

参考技术A

int 类型不能赋空值,如果一定要赋空值,可以采用int的包装器类Integer。

int i = 5;
// 可以认为二者等效
Integer i = 5;

但是,Integer i = null;是允许的,你可以了解一下Java的包装器类,没几个。

参考技术B 折叠二进制码与自然二进制码相比,具有如下优点:
1).可以简化编码过程;
2).对于小信号,有利于减小平均量化噪声
参考技术C int类型,取值范围为-2,147,483,648 到 2,147,483,647之间,默认值是 0
所以int不可为空

使用带参数的SQL语句向数据库中插入空值

private void button1_Click(object sender, EventArgs e)
{

string name = textBox1.Text;
int age = Convert.ToInt32(textBox2.Text.Trim());
int? height = textBox3.Text.Trim().Length == 0 ? null : (int?)Convert.ToInt32(textBox3.Text.Trim());
bool? gender = textBox4.Text.Trim().Length == 0 ? null : (bool?)Convert.ToBoolean(textBox4.Text.Trim());

string sql = "insert into TblPerson values(@name,@age,@height,@gender)";
SqlParameter[] pms = new SqlParameter[] {
new SqlParameter("@name",SqlDbType.NVarChar,50){ Value=name},
new SqlParameter("@age",SqlDbType.Int){ Value=age},

//向数据库中插入null值,不能直接使用C#中的null,必须使用DBNull.Value
new SqlParameter("@height",SqlDbType.Int){ Value=height==null?DBNull.Value:(object)height},
new SqlParameter("@gender",SqlDbType.Bit){ Value=gender==null?DBNull.Value:(object)gender}
};
_02封装SqlHelper类.SqlHelper.ExecuteNonQuery(sql, pms);
MessageBox.Show("插入成功!");

}

以上是关于如何向int类型插入空值的主要内容,如果未能解决你的问题,请参考以下文章

使用带参数的SQL语句向数据库中插入空值

C# 可空值类型

C#进阶系列18 可空值类型

将 Int64 类型的 Pandas 数据帧发送到 GCP Spanner INT64 列

如何在实体框架和函数中处理空值

如何判断一个int类型是不是为空