SQL Server类型与C#类型对应关系
2015-08-25 15:51
351 查看
SQL类型 | C#类型 |
---|---|
bit | bool |
tinyint | byte |
smallint | short |
int | int |
bigint | long |
real | float |
float | double |
money | decimal |
datetime | DateTime |
char | string |
varchar | string |
nchar | string |
nvarchar | string |
text | string |
ntext | string |
image | byte[] |
binary | byte[] |
uniqueidentifier | Guid |
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; }
相关文章推荐
- mysql版本分类
- Mysql 主从复制
- 如何在window下操作和连接sqlite 的db文件
- SQL Server2016 新功能实时查询统计信息
- 我纠结的sql返回受影响行数与判断是否成功的问题
- sql存储过程详解
- Mysql中文乱码问题
- Redis在win7上的可视化应用
- 关于mysql has gone away的解决办法
- sql基础
- mysql空间扩展 VS PostGIS
- mongodb连接参数
- 8.3.1 How MySQL Uses Indexes MySQL 如何使用索引
- MySQL在大型网站的应用架构演变
- ibatis如果查看动态sql语法正确,但是没有返回值问题定位
- Window7 64位旗舰版 安装Oracle 11gR2 安装图解
- 使用spring-data-redis操作Redis的Sentinel
- LINUX oracle dbca无法启动
- mysql 1449 : The user specified as a definer ('root'@'%') does not exist 解决方法
- asp.net link oracle