그 연장 DataRow
방법에 관한 것이다.
double? val = reader.IsDBNull(index) ? (double?) null : reader.GetDouble(index);
long? vol = reader.IsDBNull(index) ? (long?)null : reader.GetInt64(index);
당신은 물론 IDataReader
에 자신 만의 확장 방법으로 아마도, 유틸리티 방법으로 사람들을 마무리 할 수 : C#에서 VB에서 IIf
을, 또는 - 당신은하지만, 조건부 여기 원하는 것을 할 수 있습니다
public static class DataReaderExtensions
{
public static int? ReadNullableInt32(this IDataReader reader, int index)
{
return reader.IsDBNull(index) ? (int?)null : reader.GetInt32(index);
}
public static long? ReadNullableInt64(this IDataReader reader, int index)
{
return reader.IsDBNull(index) ? (long?)null : reader.GetInt64(index);
}
public static double? ReadNullableDouble(this IDataReader reader, int index)
{
return reader.IsDBNull(index) ? (double?)null : reader.GetDouble(index);
}
public static string ReadNullableString(this IDataReader reader, int index)
{
return reader.IsDBNull(index) ? null : reader.GetString(index);
}
// etc
}
(예제에 대한 C#을 사용 미안 -하지만 난 정확한 vb.net 쓸 수있는 것보다 당신은 아마 C#을 더 잘 읽을 수 있습니다)
감사합니다 - 아주 명확. – Yugmorf