一、C# vs SQLite:

C# SQLite
字段名 类型 库类型 GetFieldType(#) 转换 备注
F_BOOL bool BIT NOT NULL Boolean    
F_BOOL_NULL bool? BIT Boolean    
F_SBYTE sbyte INT8 NOT NULL SByte sbyte_  
F_SBYTE_NULL sbyte? INT8 SByte sbyte_  
F_BYTE byte UINT8 NOT NULL Byte    
F_BYTE_NULL byte? UINT8 Byte    
F_SHORT short INT16 NOT NULL Int16    
F_SHORT_NULL short? INT16 Int16    
F_USHORT ushort UINT16 NOT NULL UInt16 ushort_  
F_USHORT_NULL ushort? UINT16 UInt16 ushort_  
F_INT int INT32 NOT NULL Int32    
F_INT_NULL int? INT32 Int32    
F_UINT uint UINT32 NOT NULL UInt32 uint_  
F_UINT_NULL uint? UINT32 UInt32 uint_  
F_LONG long INT64 NOT NULL Int64    
F_LONG_NULL long? INT64 Int64    
F_ULONG ulong UINT64 NOT NULL UInt64 ulong_  
F_ULONG_NULL ulong? UINT64 UInt64 ulong_  
F_FLOAT float FLOAT NOT NULL Double   不转兼容
F_FLOAT_NULL float? FLOAT Double   不转兼容
F_DOUBLE double DOUBLE NOT NULL Double    
F_DOUBLE_NULL double? DOUBLE Double    
F_DECIMAL decimal DECIMAL NOT NULL Decimal   存取不一:<F_DECIMAL>: [-79228162514264300000000000000] != [-79228162514264337593543950335]
F_DECIMAL_NULL decimal? DECIMAL Decimal   存取不一:<F_DECIMAL>: [-79228162514264300000000000000] != [-79228162514264337593543950335]
F_CHAR char TEXT NOT NULL String    
F_CHAR_NULL char? TEXT String    
F_STRING string TEXT NOT NULL String    
F_STRING_NULL string TEXT String    
F_DATETIME DateTime TEXT NOT NULL String    
F_DATETIME_NULL DateTime? TEXT String    
           

二、 C# vs MySQL:

C# MySQL
字段名 类型 库类型 GetFieldType(#) 转换 备注
F_BOOL bool BOOL NOT NULL Boolean    
F_BOOL_NULL bool? BOOL NULL Boolean    
F_SBYTE sbyte TINYINT NOT NULL SByte sbyte_  
F_SBYTE_NULL sbyte? TINYINT NULL SByte sbyte_  
F_BYTE byte TINYINT UNSIGNED NOT NULL Byte    
F_BYTE_NULL byte? TINYINT UNSIGNED NULL Byte    
F_SHORT short SMALLINT NOT NULL Int16    
F_SHORT_NULL short? SMALLINT NULL Int16    
F_USHORT ushort SMALLINT UNSIGNED NOT NULL UInt16 ushort_  
F_USHORT_NULL ushort? SMALLINT UNSIGNED NULL UInt16 ushort_  
F_INT int INT NOT NULL Int32    
F_INT_NULL int? INT NULL Int32    
F_UINT uint INT UNSIGNED NOT NULL UInt32 uint_  
F_UINT_NULL uint? INT UNSIGNED NULL UInt32 uint_  
F_LONG long BIGINT NOT NULL Int64    
F_LONG_NULL long? BIGINT NULL Int64    
F_ULONG ulong BIGINT UNSIGNED NOT NULL UInt64 ulong_  
F_ULONG_NULL ulong? BIGINT UNSIGNED NULL UInt64 ulong_  
F_FLOAT float FLOAT NOT NULL Single   极值溢出
F_FLOAT_NULL float? FLOAT NULL Single   极值溢出
F_DOUBLE double DOUBLE NOT NULL Double    
F_DOUBLE_NULL double? DOUBLE NULL Double    
F_DECIMAL decimal DECIMAL NOT NULL Decimal   极值溢出
F_DECIMAL_NULL decimal? DECIMAL NULL Decimal   极值溢出
F_CHAR char CHARACTER NOT NULL String   中文报错
F_CHAR_NULL char? CHARACTER NULL String   中文报错
F_STRING string VARCHAR(50) NOT NULL String    
F_STRING_NULL string VARCHAR(50) NULL String    
F_DATETIME DateTime DATETIME NOT NULL DateTime    
F_DATETIME_NULL DateTime? DATETIME NULL DateTime    
           

三、 C# vs MSSQL:

C# MSSQL
字段名 类型 库类型 GetFieldType(#) 转换 备注
F_BOOL bool bit NOT NULL Boolean    
F_BOOL_NULL bool? bit NULL Boolean    
F_SBYTE sbyte smallint NOT NULL Int16 sbyte_short  
F_SBYTE_NULL sbyte? smallint NULL Int16 sbyte_short  
F_BYTE byte tinyint NOT NUL; Byte    
F_BYTE_NULL byte? tinyint NULL Byte    
F_SHORT short smallint NOT NULL Int16    
F_SHORT_NULL short? smallint NULL Int16    
F_USHORT ushort int NOT NULL Int32 ushort_int  
F_USHORT_NULL ushort? int NULL Int32 ushort_int  
F_INT int int NOT NULL Int32    
F_INT_NULL int? int NULL Int32    
F_UINT uint bigint NOT NULL Int64 uint_long  
F_UINT_NULL uint? bigint NULL Int64 uint_long  
F_LONG long bigint NOT NULL Int64    
F_LONG_NULL long? bigint NULL Int64    
F_ULONG ulong real NOT NULL Single ulong_float  
F_ULONG_NULL ulong? real NULL Single ulong_float  
F_FLOAT float real NOT NULL Single    
F_FLOAT_NULL float? real NULL Single    
F_DOUBLE double float NOT NULL Double    
F_DOUBLE_NULL double? float NULL Double    
F_DECIMAL decimal decimal NOT NULL Decimal   极值溢出
F_DECIMAL_NULL decimal? decimal NULL Decimal   极值溢出
F_CHAR char char(1) NOT NULL String    
F_CHAR_NULL char? char(1) NULL String    
F_STRING string varchar(50) NOT NULL F_STRING:    
F_STRING_NULL string varchar(50) NULL String    
F_DATETIME DateTime datetime NOT NULL DateTime   必须介于 1/1/1753 12:00:00 AM 和 12/31/9999 11:59:59 PM 之间。
F_DATETIME_NULL DateTime? datetime NULL DateTime    
           

四、C# vs Oracle:

C# Oracle
字段名 类型 库类型 GetFieldType(#) 转换 备注
F_BOOL bool CHAR(1) NOT NULL String bool_string  
F_BOOL_NULL bool? CHAR(1) String bool_string  
F_SBYTE sbyte NUMBER(3) NOT NULL Int16 sbyte_short  
F_SBYTE_NULL sbyte? NUMBER(3) Int16 sbyte_short  
F_BYTE byte NUMBER(3) NOT NULL Int16 byte_short  
F_BYTE_NULL byte? NUMBER(3) Int16 byte_short  
F_SHORT short NUMBER(5) NOT NULL Int32 short_int  
F_SHORT_NULL short? NUMBER(5) Int32 short_int  
F_USHORT ushort NUMBER(5) NOT NULL Int32 ushort_int  
F_USHORT_NULL ushort? NUMBER(5) Int32 ushort_int  
F_INT int NUMBER(10) NOT NULL Int64 int_long  
F_INT_NULL int? NUMBER(10) Int64 int_long  
F_UINT uint NUMBER(10) NOT NULL Int64 uint_long  
F_UINT_NULL uint? NUMBER(10) Int64 uint_long  
F_LONG long NUMBER(19) NOT NULL Decimal long_decimal  
F_LONG_NULL long? NUMBER(19) Decimal long_decimal  
F_ULONG ulong NUMBER(19) NOT NULL Decimal ulong_decimal  
F_ULONG_NULL ulong? NUMBER(19) Decimal ulong_decimal  
F_FLOAT float BINARY_FLOAT NOT NULL Single    
F_FLOAT_NULL float? BINARY_FLOAT Single    
F_DOUBLE double BINARY_DOUBLE NOT NULL Double   极值溢出
F_DOUBLE_NULL double? BINARY_DOUBLE Double   极值溢出
F_DECIMAL decimal DECIMAL(33,3) NOT NULL Decimal    
F_DECIMAL_NULL decimal? DECIMAL(33,3) Decimal    
F_CHAR char CHAR(1) NOT NULL String    
F_CHAR_NULL char? CHAR(1) String    
F_STRING string VARCHAR(50) NOT NULL String   不允许空字符
F_STRING_NULL string VARCHAR(50) String   不允许空字符
F_DATETIME DateTime TIMESTAMP NOT NULL DateTime   大值读取报错
F_DATETIME_NULL DateTime? TIMESTAMP DateTime   大值读取报
using System;
using System.Collections.Generic;
using System.Text; namespace vJine.Core.ORM {
public class TypeConverter { public class sbyte_ /*: IConverter<sbyte>*/ {
public static sbyte CONV_Q(object V) {
return (sbyte)V;
}
} public class ushort_ /*: IConverter<ushort>*/ {
public static ushort CONV_Q(object V) {
return (ushort)V;
}
} public class uint_ /*: IConverter<uint>*/ {
public static uint CONV_Q(object V) {
return (uint)V;
}
} public class ulong_ /*: IConverter<ulong>*/ {
public static ulong CONV_Q(object V) {
return (ulong)V;
}
} public class bool_string /*: IConverter<bool>*/ {
public static object CONV_I(object V) {
if ((bool)V == true) {
return "";
} else {
return "";
}
} public static bool CONV_Q(object V) {
if ((string)V == "") {
return true;
} else {
return false;
}
}
} public class sbyte_short /*: IConverter<sbyte>*/ { public static object CONV_I(object V) {
return Convert.ToInt16(V);
} public static sbyte CONV_Q(object V) {
return Convert.ToSByte(V);
}
} public class byte_short /*: IConverter<byte>*/ {
public static object CONV_I(object V) {
return Convert.ToInt16(V);
} public static byte CONV_Q(object V) {
return Convert.ToByte(V);
}
} public class short_int /*: IConverter<short>*/ {
public static object CONV_I(object V) {
return Convert.ToInt32(V);
} public static short CONV_Q(object V) {
return Convert.ToInt16(V);
}
} public class ushort_int /*: IConverter<ushort>*/ {
public static object CONV_I(object V, string Name) {
return Convert.ToInt32(V);
} public static ushort CONV_Q(object V, string Name) {
return Convert.ToUInt16(V);
}
} public class int_long /*: IConverter<int>*/ {
public static object CONV_I(object V) {
return Convert.ToInt64(V);
} public static int CONV_Q(object V) {
return Convert.ToInt32(V);
}
} public class uint_long /*: IConverter<uint>*/ {
public static object CONV_I(object V) {
return Convert.ToInt64(V);
} public static uint CONV_Q(object V) {
return Convert.ToUInt32(V);
}
} public class long_decimal /*: IConverter<long>*/ {
public static object CONV_I(object V) {
return decimal.Parse(V.ToString());
} public static long CONV_Q(object V) {
return long.Parse(V.ToString());
}
} public class ulong_float /*: IConverter<ulong>*/ {
public static object CONV_I(object V) {
return Convert.ToSingle(V);
} public static ulong CONV_Q(object V) {
return Convert.ToUInt64(V);
}
} public class ulong_decimal /*: IConverter<ulong>*/ {
public static object CONV_I(object V) {
return decimal.Parse(V.ToString());
} public static ulong CONV_Q(object V) {
return ulong.Parse(V.ToString());
}
} public class float_double /*: IConverter<float>*/ {
public static object CONV_I(object V) {
return Convert.ToDouble(V);
} public static float CONV_Q(object V) {
return Convert.ToSingle(V);
}
} public class char_string /*: IConverter<char>*/ {
public static object CONV_I(object V) {
if (V is Char) {
return V;
} else if (V is string) {
string chars = (string)V;
if (chars == "") {
return '\0';
} else {
return chars[];
}
} else {
throw new OrmException("Fail To Convert String[{0}] To Char", V);
}
} public static char CONV_Q(object V) {
return ((string)V)[];
}
} public class DateTime_ /*: IConverter<DateTime>*/ {
public static object CONV_I(object V) {
return V;
} public static DateTime CONV_Q(object V) {
return (DateTime)V;
}
}
}
}

(转)C# 数据类型映射 (SQLite,MySQL,MSSQL,Oracle)的更多相关文章

  1. C# 数据类型映射 (SQLite,MySQL,MSSQL,Oracle)

    一.C# vs SQLite: C# SQLite 字段名 类型 库类型 GetFieldType(#) 转换 备注 F_BOOL bool BIT NOT NULL Boolean F_BOOL_N ...

  2. Hibernate常用的Java数据类型映射到mysql和Oracle

    研究了常用的Java基本数据类型在mysql和oracle数据库的映射类型.这里使用的是包装类型做研究,一般在hibernate声明的时候最好不要用基本类型,因为数据库中的null空数据有可能映射为基 ...

  3. Oracle 数据类型映射C#

    Oracle 数据类型映射 下表列出 Oracle 数据类型及其与 OracleDataReader 的映射. Oracle 数据类型 由 OracleDataReader.GetValue 返回的  ...

  4. MySql - JdbcType - Oracle类型映射

    MySql - JdbcType - Oracle类型映射   MySQL数据类型 JDBC TYPE Oracle数据类型 BIGINT BIGINT NUMBER(20) TINYINT TINY ...

  5. Mysql,Oracle与Java字段类型映射关系

    Mysql,Oracle与Java字段类型映射关系 参考相关博文 MySQL/Oracle字段类型 Java字段类型 最大长度 BIT java.lang.Boolean 1 BLOB java.la ...

  6. 《物联网框架ServerSuperIO教程》-19.设备驱动和OPC Client支持mysql、oracle、sqlite、sqlserver的持久化。v3.6.4版本发布

    19.设备驱动和OPC Client支持mysql.oracle.sqlite.sqlserver的持久化 19.1     概述 ServerSuperIO支持设备驱动和OPC Client采集的数 ...

  7. mysql 和 Oracle 数据类型对照

    MySQL与Oracle两种数据库在工作中,都是用的比较多的数据库,由于MySQL与Oracle在数据类型上有部分差异,在我们迁移数据库时,会遇上一定的麻烦,下面介绍MySQL与Oracle数据库数据 ...

  8. sequelize 用于PostgreSQL,MySQL,SQLite和MSSQL的Node.js / io.js ORM

    安装 Sequelize可通过NPM获得. $ npm install --save sequelize # And one of the following: $ npm install --sav ...

  9. springboot+mybatis+druid+sqlite/mysql/oracle

    搭建springboot+mybatis+druid+sqlite/mysql/oracle附带测试 1.版本 springboot2.1.6 jdk1.8 2.最简springboot环境 http ...

随机推荐

  1. uva11324 The Largest Clique --- 强连通+dp

    给一个有向图G,求一个子图要求当中随意两点至少有一边可达. 问这个子图中最多含多少个顶点. 首先找SCC缩点建图.每一个点的权值就是该点包括点的个数. 要求当中随意两点可达,实际上全部边仅仅能同方向, ...

  2. JS调用Delphi编写的OCX控件

    原文:http://www.mamicode.com/info-detail-471283.html 一.使用Delphi XE2编写OCX控件 生成OCX工程: 1.File-New-Other,在 ...

  3. Tomcat安装、配置、优化及负载均衡详解

    一.常见JavaWeb服务器      1.WebLogic:是BEA公司的产品.WebSphereAS:是IBM公司的产品.JBossAS:红帽公司的产品,可以自行了解      2.Tomcat服 ...

  4. 让你的PHP程序真正的实现多线程(PHP多线程类)(转)

    通过WEB服务器来实现PHP多线程功能. 当然,对多线程有深入理解的人都知道通过WEB服务器实现的多线程只能模仿多线程的一些效果,并不是真正意义上的多线程. 但不管怎么样,它还是能满足我们的一些需要的 ...

  5. apache配置文件

    httpd-vhost.conf文件中: <VirtualHost *:80>    ServerAdmin webmaster@dummy-host2.example.com    Do ...

  6. CentOS5.6 安装RabbitMQ

    步骤参考官方地址:http://www.rabbitmq.com/install-rpm.html我们这个版本按照官方的不能正确安装. 1.安装erlang(官网地址http://www.erlang ...

  7. Android基本控件之ListView(二)<ListView优化>

    之前我们说到ListView的基本用法.但是,有很多的时候会额外的占用一些内存,从而消耗了性能.既然有消耗性能的可能,那么我们就对其做出相应的优化 我们首先来说说优化的步骤: 第一步.将宽和高设置为填 ...

  8. SpringMVC的简单示例

    首先导入所需的jar包,项目目录结构如下: 之后需要配置一下web.xml文件,内容如下: <?xml version="1.0" encoding="UTF-8& ...

  9. ArcGis :正尝试在 OS 加载程序锁内执行托管代码。不要尝试在 DllMain 或映像初始化函数内运行托管代码,这样做会导致应用程序挂起。

    解决此异常的方法有以下两种: 方法一 把vs2005菜单的 调试->异常->Managed Debuggin Assistants->LoaderLock 的选中状态去掉  如果异常 ...

  10. javaweb学习总结二十一(servlet开发入门、servlet生命周期以及调用过程)

    一:servlet开发入门 servlet是sun公司一门开发动态web资源的技术,下面编写一个servlet入门程序: 1:在tomcat服务器webapps目录下新建firstServlet目录, ...