我正在使用此代码从数据表中获取数据,
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
现在我知道 FruitA 和 FruitB 永远不会为空,但 FruitCrateString 可以为空,但如果 fruitCrateString 为空,我想跳过列表实例,我知道我可以这样做,
while (rdr.Read())
{
if (!Convert.IsDBNull(rdr["FruitCrateString"]))
{
cl.FruitA = Convert.ToInt32(rdr["FruitA"]);
cl.FruitB = Convert.ToInt32(rdr["FruitB"]);
cd.FruitCrateString = rdr["FruitCrateString"].ToString();
}
但是有没有更好的方法来解决这个问题?