// sqlDbType转换为C#数据类型 public static Type sqlType2CsharpType(sqlDbType sqlType) { switch (sqlType) { case sqlDbType.BigInt: return typeof(Int64); case sqlDbType.Binary: return typeof(Object); case sqlDbType.Bit: return typeof(Boolean); case sqlDbType.Char: return typeof(String); case sqlDbType.DateTime: return typeof(DateTime); case sqlDbType.Decimal: return typeof(Decimal); case sqlDbType.Float: return typeof(Double); case sqlDbType.Image: return typeof(Object); case sqlDbType.Int: return typeof(Int32); case sqlDbType.Money: return typeof(Decimal); case sqlDbType.NChar: return typeof(String); case sqlDbType.NText: return typeof(String); case sqlDbType.NVarChar: return typeof(String); case sqlDbType.Real: return typeof(Single); case sqlDbType.SmallDateTime: return typeof(DateTime); case sqlDbType.SmallInt: return typeof(Int16); case sqlDbType.SmallMoney: return typeof(Decimal); case sqlDbType.Text: return typeof(String); case sqlDbType.Timestamp: return typeof(Object); case sqlDbType.tinyint: return typeof(Byte); case sqlDbType.Udt://自定义的数据类型 return typeof(Object); case sqlDbType.UniqueIdentifier: return typeof(Object); case sqlDbType.VarBinary: return typeof(Object); case sqlDbType.VarChar: return typeof(String); case sqlDbType.Variant: return typeof(Object); case sqlDbType.Xml: return typeof(Object); default: return null; } }
// sql server数据类型(如:varchar) // 转换为sqlDbType类型 public static sqlDbType sqlTypestring2sqlType(string sqlTypestring) { sqlDbType dbType = sqlDbType.Variant;//默认为Object switch (sqlTypestring) { case "int": dbType = sqlDbType.Int; break; case "varchar": dbType = sqlDbType.VarChar; break; case "bit": dbType = sqlDbType.Bit; break; case "datetime": dbType = sqlDbType.DateTime; break; case "decimal": dbType = sqlDbType.Decimal; break; case "float": dbType = sqlDbType.Float; break; case "image": dbType = sqlDbType.Image; break; case "money": dbType = sqlDbType.Money; break; case "ntext": dbType = sqlDbType.NText; break; case "nvarchar": dbType = sqlDbType.NVarChar; break; case "smalldatetime": dbType = sqlDbType.SmallDateTime; break; case "smallint": dbType = sqlDbType.SmallInt; break; case "text": dbType = sqlDbType.Text; break; case "bigint": dbType = sqlDbType.BigInt; break; case "binary": dbType = sqlDbType.Binary; break; case "char": dbType = sqlDbType.Char; break; case "nchar": dbType = sqlDbType.NChar; break; case "numeric": dbType = sqlDbType.Decimal; break; case "real": dbType = sqlDbType.Real; break; case "smallmoney": dbType = sqlDbType.SmallMoney; break; case "sql_variant": dbType = sqlDbType.Variant; break; case "timestamp": dbType = sqlDbType.Timestamp; break; case "tinyint": dbType = sqlDbType.tinyint; break; case "uniqueidentifier": dbType = sqlDbType.UniqueIdentifier; break; case "varbinary": dbType = sqlDbType.VarBinary; break; case "xml": dbType = sqlDbType.Xml; break; } return dbType; }
// sql server中的数据类型,转换为C#中的类型类型 public static Type sqlTypestring2CsharpType(string sqlTypestring) { sqlDbType dbTpe = sqlTypestring2sqlType(sqlTypestring); return sqlType2CsharpType(dbTpe); } // 将sql server中的数据类型,转化为C#中的类型的字符串 public static string sqlTypestring2CsharpTypestring(string sqlTypestring) { Type type = sqlTypestring2CsharpType(sqlTypestring); return type.Name; }