Reputation: 13
I have this code:
command = new SqlCommand(query, connection);
reader = command.ExecuteReader();
var dataTable = new DataTable();
dataTable.Load(reader);
reader.Close();
connection.Close();
var data2 = dataTable.AsEnumerable().Select(x => new {
Datetime = x.Field<DateTime>("Datetime"),
Tagname = x.Field<String>("Tagname"),
Value = x.Field<Double>("Value")
});
When Value
field is null
, it throw an exception in casting process. How I can prevent this exception?
Upvotes: 1
Views: 975
Reputation: 11
Use x.Field ("Value") in place of x.Field ("Value")
var data2 = dataTable.AsEnumerable().Select(x => new {
Datetime = x.Field<DateTime>("Datetime"),
Tagname = x.Field<String>("Tagname"),
Value = x.Field <Double?>("Value")
});
Upvotes: 0
Reputation: 45947
null
is a invalid value for double
make it nullable (if type of Value
is nullable or can be changed into it)
Value = x.Field<double?>("Value");
or define a default value to use in case of null
(e.g. if null
then 0)
Value = x.Field<double?>("Value") ?? 0;
Upvotes: 8