/// <summary>
 /// Gets the row values for a row of the result set in a the form of a string
 /// array. <code>null</code> values are interperted as empty strings.
 /// </summary>
 /// <param name="row">The row to get the values for.</param>
 /// <returns>The string array of the row values.</returns>
 public static String[] GetRowStringValues(Row row) {
   object[] rowValues = GetRowValues(row);
   List<string> rowStringValues = new List<string>();
   foreach (object obj in rowValues) {
     if (obj != null) {
       rowStringValues.Add(obj.ToString());
     } else {
       rowStringValues.Add("");
     }
   }
   return rowStringValues.ToArray();
 }
 /// <summary>
 /// Gets the row values for a row of the result set in the form of an object
 /// array.
 /// </summary>
 /// <param name="row">The row to get the values for.</param>
 /// <returns>The object array of the row values.</returns>
 public static object[] GetRowValues(Row row) {
   List<object> rowValues = new List<object>();
   foreach (Value value in row.values) {
     rowValues.Add(GetValue(value));
   }
   return rowValues.ToArray();
 }