C#讀取資料庫傳回DataTable,周遊 DataTable,
在DataRow dr, 假如dr[0]是一個可空的值類型的字段,那麼要指派給C#程式的一個值類型(可空類型變量這裡不讨論)變量時,
可以這樣判斷dr[0]是不是DBNull:
int num=dr[0].Equals(DBNull.Value) ? 0 : Convert.ToInt32(dr[0]);
這樣寫使得代碼簡潔,易讀,少一些if...else...
判斷一個類型是不是DBNull.Value的方法如下:
object obj = DBNull.Value;
bool b = obj.Equals(DBNull.Value);
if (b == true)
{
Console.WriteLine("obj is a DBNull");
}
else
{
Console.WriteLine("obj is not a DBNull");
}
Console.ReadKey();
總結了三種方法:
while (dr.Read())//循環讀取
{
//第一種方法判斷是不是DBNull.Value
int num1=dr.IsDBNull(0)?0:dr.GetInt32(0);
//第二種方法判斷是不是DBNull.Value
int num2 = dr[1].Equals(DBNull.Value) ? 0 : Convert.ToInt32(dr[1]);
//第二種方法判斷是不是DBNull.Value
int num3 = string.IsNullOrEmpty(dr[2].ToString()) ? 0 : Convert.ToInt32(dr[2]);
}
轉載于:https://www.cnblogs.com/527289276qq/p/5446259.html