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

系统 1418 0

一、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
        
        
          "
        
        
          1
        
        
          "
        
        
          ;

                } 
        
        
          else
        
        
           {

                    
        
        
          return
        
        
          "
        
        
          0
        
        
          "
        
        
          ;

                }

            }



            
        
        
          public
        
        
          static
        
        
          bool
        
         CONV_Q(
        
          object
        
        
           V) {

                
        
        
          if
        
         ((
        
          string
        
        )V == 
        
          "
        
        
          1
        
        
          "
        
        
          ) {

                    
        
        
          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[
        
          0
        
        
          ];

                    }

                } 
        
        
          else
        
        
           {

                    
        
        
          throw
        
        
          new
        
         OrmException(
        
          "
        
        
          Fail To Convert String[{0}] To Char
        
        
          "
        
        
          , V);

                }

            }



            
        
        
          public
        
        
          static
        
        
          char
        
         CONV_Q(
        
          object
        
        
           V) {

                
        
        
          return
        
         ((
        
          string
        
        )V)[
        
          0
        
        
          ];

            }

        }



        
        
        
          public
        
        
          class
        
         DateTime_ 
        
          /*
        
        
          : IConverter<DateTime>
        
        
          */
        
        
           {

            
        
        
          public
        
        
          static
        
        
          object
        
         CONV_I(
        
          object
        
        
           V) {

                
        
        
          return
        
        
           V;

            }



            
        
        
          public
        
        
          static
        
         DateTime CONV_Q(
        
          object
        
        
           V) {

                
        
        
          return
        
        
           (DateTime)V;

            }

        }

    }

}
        
      
View Code

 

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


更多文章、技术交流、商务合作、联系博主

微信扫码或搜索:z360901061

微信扫一扫加我为好友

QQ号联系: 360901061

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描下面二维码支持博主2元、5元、10元、20元等您想捐的金额吧,狠狠点击下面给点支持吧,站长非常感激您!手机微信长按不能支付解决办法:请将微信支付二维码保存到相册,切换到微信,然后点击微信右上角扫一扫功能,选择支付二维码完成支付。

【本文对您有帮助就好】

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描上面二维码支持博主2元、5元、10元、自定义金额等您想捐的金额吧,站长会非常 感谢您的哦!!!

发表我的评论
最新评论 总共0条评论