Syringe.Net.Nz
Irregular Injection of Opinion
RSS 2.0|Atom 1.0|CDF

 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|Comments [16]|