C# 填充列表时,我们发现一列为空
我用这个代码从数据表中获取数据C# 填充列表时,我们发现一列为空,c#,asp.net,sql,sql-server,C#,Asp.net,Sql,Sql Server,我用这个代码从数据表中获取数据 List<CustomList> cls = new List<CustomList>(); using (SqlConnection conn = new SqlConnection(CS())) using (SqlCommand cmd = new SqlCommand(selectStatement, conn)) { conn.Open(); using (SqlDataReader rdr = cmd.ExecuteR
List<CustomList> cls = new List<CustomList>();
using (SqlConnection conn = new SqlConnection(CS()))
using (SqlCommand cmd = new SqlCommand(selectStatement, conn))
{
conn.Open();
using (SqlDataReader rdr = cmd.ExecuteReader())
{
while (rdr.Read())
{
CustomList cl = new CustomList();
cl.FruitA = Convert.ToInt32(rdr["FruitA"]);
cl.FruitB = Convert.ToInt32(rdr["FruitB"]);
if (!Convert.IsDBNull(rdr["FruitCrateString"]))
cd.FruitCrateString = rdr["FruitCrateString"].ToString();
cls.add(cl);
//how can i skip above when FruitCrateString is null and don't add rest to list
但是有没有更好的方法来解决这个问题呢?我知道的最好的解决方案是在SQL select命令中添加“is NOT NULL”。有了它,你可以确保你收到的所有元素都是好的
SELECT * FROM Fruits WHERE FruitA IS NOT NULL;
希望有帮助。我所知道的最好的解决方案是在SQL select命令中添加“is NOT NULL”。有了它,你可以确保你收到的所有元素都是好的
SELECT * FROM Fruits WHERE FruitA IS NOT NULL;
希望有帮助。我认为您的代码还可以。只需实例化
CustomList cl=new CustomList()代码>在if(!Convert.IsDBNull(rdr[“FruitCrateString”])
块中。您可以更改sql语句以排除FruitCrateString为null的行。我认为您的代码可以。只需实例化CustomList cl=new CustomList()代码>在if(!Convert.IsDBNull(rdr[“FruitCrateString”])
块中。您可以更改sql语句以排除FruitCrateString为null的行。是的,这很有帮助,但我还有一个select语句调用6或7列,我可以一起检查它们是否为null,我无论如何都会接受这个答案,我不知道是否有任何sql语句要一起检查,但是如果它们不为null,您可以逐个检查。从果A不为空且果B不为空的水果中选择*;是的,这很有帮助,但我也有一个select语句,它调用6或7列,如果它们为null,我可以一起检查它们吗?我无论如何都会接受这个答案。我不知道是否有任何sql语句要一起检查,但如果它们不为null,你可以逐个检查。从果A不为空且果B不为空的水果中选择*;