
Tuesday, September 06, 2005
Casting Strings to SqlDbType compatible types at runtime
I HATE doing monkey work and had the pleasure of such this afternoon.....
So herewith a switch statement that casts strings appropriatly for most SqlDbType type parameters.
string nodeValue = node.Value;
switch (prm.SqlDbType)
{
case SqlDbType.BigInt:
prm.Value = Int64.Parse(nodeValue);
break;
case SqlDbType.Bit:
prm.Value = Boolean.Parse(nodeValue);
break;
case SqlDbType.Char:
case SqlDbType.NChar:
case SqlDbType.NVarChar:
case SqlDbType.VarChar:
prm.Value = LeftStr(nodeValue,prm.Size);
break;
case SqlDbType.DateTime:
case SqlDbType.SmallDateTime:
prm.Value = DateTime.Parse(nodeValue);
break;
case SqlDbType.Decimal:
case SqlDbType.Money:
case SqlDbType.SmallMoney:
prm.Value = Decimal.Parse(nodeValue);
break;
case SqlDbType.Float:
prm.Value = Double.Parse(nodeValue);
break;
case SqlDbType.Int:
prm.Value = Int32.Parse(nodeValue);
break;
case SqlDbType.Real:
prm.Value = Single.Parse(nodeValue);
break;
case SqlDbType.SmallInt:
prm.Value = Int16.Parse(nodeValue);
break;
case SqlDbType.Text:
prm.Value = nodeValue;
break;
case SqlDbType.TinyInt:
prm.Value = Byte.Parse(nodeValue);
break;
case SqlDbType.UniqueIdentifier:
prm.Value = Guid.NewGuid(nodeValue);
break;
}
.NET|Tuesday, September 06, 2005 4:40:54 AM UTC||
|