1 // SqlDbType转换为C#数据类型
2 public static Type SqlType2CsharpType(SqlDbType sqlType)
3 {
4 switch (sqlType)
5 {
6 case SqlDbType.BigInt:
7 return typeof(Int64);
8 case SqlDbType.Binary:
9 return typeof(Object);
10 case SqlDbType.Bit:
11 return typeof(Boolean);
12 case SqlDbType.Char:
13 return typeof(String);
14 case SqlDbType.DateTime:
15 return typeof(DateTime);
16 case SqlDbType.Decimal:
17 return typeof(Decimal);
18 case SqlDbType.Float:
19 return typeof(Double);
20 case SqlDbType.Image:
21 return typeof(Object);
22 case SqlDbType.Int:
23 return typeof(Int32);
24 case SqlDbType.Money:
25 return typeof(Decimal);
26 case SqlDbType.NChar:
27 return typeof(String);
28 case SqlDbType.NText:
29 return typeof(String);
30 case SqlDbType.NVarChar:
31 return typeof(String);
32 case SqlDbType.Real:
33 return typeof(Single);
34 case SqlDbType.SmallDateTime:
35 return typeof(DateTime);
36 case SqlDbType.SmallInt:
37 return typeof(Int16);
38 case SqlDbType.SmallMoney:
39 return typeof(Decimal);
40 case SqlDbType.Text:
41 return typeof(String);
42 case SqlDbType.Timestamp:
43 return typeof(Object);
44 case SqlDbType.TinyInt:
45 return typeof(Byte);
46 case SqlDbType.Udt://自定义的数据类型
47 return typeof(Object);
48 case SqlDbType.UniqueIdentifier:
49 return typeof(Object);
50 case SqlDbType.VarBinary:
51 return typeof(Object);
52 case SqlDbType.VarChar:
53 return typeof(String);
54 case SqlDbType.Variant:
55 return typeof(Object);
56 case SqlDbType.Xml:
57 return typeof(Object);
58 default:
59 return null;
60 }
61 }
1 // sql server数据类型(如:varchar)转换为SqlDbType类型
2 public static SqlDbType SqlTypeToSqlDbType(string sqlTypeString)
3 {
4 SqlDbType dbType = SqlDbType.Variant;//默认为Object
5
6 switch (sqlTypeString.ToLower())
7 {
8 case "int":
9 dbType = SqlDbType.Int;
10 break;
11 case "varchar":
12 dbType = SqlDbType.VarChar;
13 break;
14 case "bit":
15 dbType = SqlDbType.Bit;
16 break;
17 case "datetime":
18 dbType = SqlDbType.DateTime;
19 break;
20 case "decimal":
21 dbType = SqlDbType.Decimal;
22 break;
23 case "float":
24 dbType = SqlDbType.Float;
25 break;
26 case "image":
27 dbType = SqlDbType.Image;
28 break;
29 case "money":
30 dbType = SqlDbType.Money;
31 break;
32 case "ntext":
33 dbType = SqlDbType.NText;
34 break;
35 case "nvarchar":
36 dbType = SqlDbType.NVarChar;
37 break;
38 case "smalldatetime":
39 dbType = SqlDbType.SmallDateTime;
40 break;
41 case "smallint":
42 dbType = SqlDbType.SmallInt;
43 break;
44 case "text":
45 dbType = SqlDbType.Text;
46 break;
47 case "bigint":
48 dbType = SqlDbType.BigInt;
49 break;
50 case "binary":
51 dbType = SqlDbType.Binary;
52 break;
53 case "char":
54 dbType = SqlDbType.Char;
55 break;
56 case "nchar":
57 dbType = SqlDbType.NChar;
58 break;
59 case "numeric":
60 dbType = SqlDbType.Decimal;
61 break;
62 case "real":
63 dbType = SqlDbType.Real;
64 break;
65 case "smallmoney":
66 dbType = SqlDbType.SmallMoney;
67 break;
68 case "sql_variant":
69 dbType = SqlDbType.Variant;
70 break;
71 case "timestamp":
72 dbType = SqlDbType.Timestamp;
73 break;
74 case "tinyint":
75 dbType = SqlDbType.TinyInt;
76 break;
77 case "uniqueidentifier":
78 dbType = SqlDbType.UniqueIdentifier;
79 break;
80 case "varbinary":
81 dbType = SqlDbType.VarBinary;
82 break;
83 case "xml":
84 dbType = SqlDbType.Xml;
85 break;
86 }
87 return dbType;
88 }