gpt4 book ai didi

c# - Insert 语句不会插入 Null 值

转载 作者:太空狗 更新时间:2023-10-29 23:56:47 26 4
gpt4 key购买 nike

我正在尝试从 C# 中向我的数据库中插入一个空值,如下所示:

SqlCommand command = new SqlCommand("INSERT INTO Employee
VALUES ('" + employeeID.Text + "','" + name.Text + "','" + age.Text
+ "','" + phone.Text + "','" + DBNull.Value + "')", connection);

DBNull.Value 是日期所在的位置,但我希望它等于 null 但它似乎放入了默认日期,1900 年左右......

最佳答案

更改为:

SqlCommand command = new SqlCommand("INSERT INTO Employee VALUES ('" + employeeID.Text + "','" + name.Text + "','" + age.Text + "','" + phone.Text + "',null)", connection);

DBNull.Value.ToString() 返回空字符串,但您需要 null。

但是,这种构建查询的方式可能会导致问题。例如,如果您的其中一个字符串包含引号 ',结果查询将抛出错误。更好的方法是使用参数并在 SqlCommand 对象上设置:

SqlCommand command = new SqlCommand("INSERT INTO Employee VALUES (@empId,@name,@age,@phone,null)", connection);
command.Parameters.Add(new SqlParameter("@empId", employeeId.Text));
command.Parameters.Add(new SqlParameter("@name", name.Text));
command.Parameters.Add(new SqlParameter("@age", age.Text));
command.Parameters.Add(new SqlParameter("@phone", phone.Text));

关于c# - Insert 语句不会插入 Null 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8032054/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com