[dba-VB] SCRUM: Null value in DataTable

Salakhetdinov Shamil mcp2004 at mail.ru
Mon Apr 6 00:28:22 CDT 2009


Hi Gustav,

Thank you for your code review and proposal: I have changed dataset's Customer table Region field property to return null value and I have changed code in the OrdersForm - it looks better now - two+ times less of code lines. New code is committed to our server.

--
Shamil

-----Original Message-----
From: "Gustav Brock" <Gustav at cactus.dk>
To: <dba-vb at databaseadvisors.com>
Date: Sun, 05 Apr 2009 23:57:22 +0200
Subject: [dba-VB] SCRUM: Null value in DataTable

> Hi Shamil
> 
> In your OrdersForm you write:
> 
>         /// <summary>
>         /// Custom class to get Customer row attributes.
>         /// This class is required to suppress exceptions
>         /// caused by DbNull values of row fields.
>         /// Note: if you know better method to workaround this
>         /// issue please make a change here but leave the old code
>         /// cpmmented. Thank you.
>         /// </summary>
>         private class customerAttributes
>         {
>             private Northwind.NET.FE.Datasets.OrdersFormDataSet.CustomerRow _row;
>             public customerAttributes(OrdersForm form, int customerId)
>             {
>                 Northwind.NET.FE.Datasets.OrdersFormDataSet.CustomerRow row =
>                   form.ordersFormDataSet.Customer.FindByID(customerId);
>                 _row = row;
>             }
>             public int? ID { get { try { return _row.ID; } catch { } return null; } }
>             public string Name { get { try { return _row.Name; } catch { } return null; } }
>             public string Address { get { try { return _row.Address; } catch { } return null; } }
>             public string Region { get { try { return _row.Region; } catch { } return null; } }
>             public string City { get { try { return _row.City; } catch { } return null; } }
>             public string PostalCode { get { try { return _row.PostalCode; } catch { } return null; } }
>             public string Country { get { try { return _row.Country; } catch { } return null; } }
>         }
> 
> I haven't tested it here, but until now I have managed this by selecting properties of each field/column in question (in the view of the xsd file), pick property NullValue and change the value from the default value of (Throw exception) to (Null).
> 
> This can still cause trouble in the code. But to avoid that, a property is created for these colums, IsColumnNull, as well as a method to set it to Null, SetColumnNull().
> 
> /gustav
> 
> 
> _______________________________________________
> dba-VB mailing list
> dba-VB at databaseadvisors.com
> http://databaseadvisors.com/mailman/listinfo/dba-vb
> http://www.databaseadvisors.com
> 




More information about the dba-VB mailing list