SqlServer数据类型、C#SqlDbType对应关系及转换

// 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;
}

相关文章

SELECT a.*,b.dp_name,c.pa_name,fm_name=(CASE WHEN a.fm_n...
if not exists(select name from syscolumns where name=&am...
select a.*,pano=a.pa_no,b.pa_name,f.dp_name,e.fw_state_n...
要在 SQL Server 2019 中设置定时自动重启,可以使用 Window...
您收到的错误消息表明数据库 'EastRiver' 的...
首先我需要查询出需要使用SQL Server Profiler跟踪的数据库标...