gpt4 book ai didi

c# - 测试某个值是否为空

转载 作者:行者123 更新时间:2023-11-30 19:30:05 25 4
gpt4 key购买 nike

我有以下代码,但我遇到了问题。在我的 While 中,必须测试 r["Varandas"] 是否不为空。在特定的 imovel_id 中,r["Varandas"] 为 null,但仍然通过我的代码,然后我得到一个异常错误,因为无法解析为 int the r["Varandas"] 因为它为 null,但为什么他通过通过我的 While 循环中的第一个 IF?

        string s = "SELECT * "
+ "FROM San_Imovel_Caracteristica "
+ "WHERE Imovel_Id = " + imovel_id + " ";

SqlConnection c = new SqlConnection(conn.Con);
SqlCommand cmd = new SqlCommand(s, c);
c.Open();
SqlDataReader r = cmd.ExecuteReader();

while (r.Read())
{
if (r["Varandas"] != null)
{
if (Convert.ToInt32(r["Varandas"].ToString()) > 0)
{
XmlElement itemImovel1 = doc.CreateElement("itemImovel");
caracteristicasImovel.AppendChild(itemImovel1);
itemImovel1.InnerText = "varanda";
}
}
}

最佳答案

null 数据库中的值有其自己的特殊类型:

if (r["Varandas"] != DBNull.Value && r["Varandas"] != null)

为了让它更优雅,您可以为 DataRow 类编写一些简单的函数甚至扩展。

关于c# - 测试某个值是否为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10089120/

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