ADO 数据类型转换表
http://www.able-consulting.com/ADODataTypeEnum.htm
The following table shows the ADO Data Type mapping between Visual Basic, Access, SQL Server, Oracle, and the .NET Framework.
View printable version
ADO DataType Enum |
ADO DataType Enum Value |
.NET Framework |
SQL Server |
Size | Access | Oracle | Visual Basic 6.0 |
---|---|---|---|---|---|---|---|
adBigInt | 20 | Int64 SqlDbType.BigInt 10 OleDbType.BigInt 11 |
bigint 9 | 8 | Variant | ||
adBinary | 128 | Byte[] SqlDbType.VarBinary 10 OleDbType.Binary 11 |
binary timestamp |
50 8 |
Raw 7 | Variant | |
adBoolean | 11 | Boolean SqlDbType.Bit 10 OleDbType.Boolean 11 |
bit | 1 2 |
YesNo |
Boolean | |
adBSTR | 8 | String OleDbType.BSTR 11 |
|||||
adChapter | 136 | (DataReader) | |||||
adChar | 129 | String SqlDbType.Char 10 OleDbType.Char 11 |
char | X | Char | String | |
adCurrency | 6 | Decimal SqlDbType.Money 10 OleDbType.Currency 11 |
money smallmoney |
8 4 0 |
Currency |
Currency | |
adDate | 7 | DateTime OleDbType.DBDate 11 |
0 |
DateTime 2 |
Date | ||
adDBDate | 133 | DateTime OleDbType.DBDate 11 |
|||||
adDBFileTime | 137 | DBFileTime 11 | |||||
adDBTime | 134 | DateTime OleDbType.DBTime 11 |
|||||
adDBTimeStamp | 135 | DateTime SqlDbType.DateTime 10 OleDbType.DBTimeStamp 11 |
datetime smalldatetime |
8 4 0 |
DateTime 1 |
Date | Date |
adDecimal | 14 | Decimal OleDbType.Decimal 11 |
Decimal 7 | Variant 6 | |||
adDouble | 5 | Double SqlDbType.Float 10 OleDbType.Double 11 |
float | 8 0 |
Double |
Float | Double |
adEmpty | 0 | Empty 11 | |||||
adError | 10 | External-Exception OleDbType.Error 11 |
|||||
adFileTime | 64 | DateTime OleDbType.Filetime 11 |
|||||
adGUID | 72 | Guid SqlDbType.UniqueIdentifier 10 OleDbType.Guid 11 |
uniqueidentifier5 | 16 | ReplicationID2,3 |
Variant | |
adIDispatch | 9 | Object OleDbType.IDispatch 11 |
|||||
adInteger | 3 | Int32 SqlDbType.Int 10 OleDbType.Integer 11 |
identity 4 |
4 4 |
AutoNumber Long Integer |
Int 7 | Long |
adIUnknown | 13 | Object OleDbType.IUnknown 11 |
|||||
adLongVarBinary | 205 | Byte[] SqlDbType.VarBinary 10 OleDbType.LongVarBinary 11 |
image | 2147483647 | OLEObject |
Long Raw 7 Blob 8 |
Variant |
adLongVarChar | 201 | String SqlDbType.VarChar 10 OleDbType.LongVarChar 11 |
text | 2147483647 | Memo 1, 2 Hyperlink 1, 2 |
Long 7 Clob 8 |
String |
adLongVarWChar | 203 | String SqlDbType.NText 10 OleDbType.VarWChar 11 |
ntext 5 | 1073741823 | Memo 3 Hyperlink 3 |
NClob 8 | String |
adNumeric | 131 | Decimal SqlDbType.Decimal 10 OleDbType.Decimal 11 |
decimal numeric |
9 |
Decimal 3 |
Decimal Integer Number SmallInt |
Variant 6 |
adPropVariant | 138 | Object OleDbType.PropVariant 11 |
|||||
adSingle | 4 | Single SqlDbType.Real 10 OleDbType.Single 11 |
real | 4 | Single |
Single | |
adSmallInt | 2 | Int16, SqlDbType.SmallInt 10 OleDbType.SmallInt 11 |
smallInt | 2 | Integer |
Integer | |
adTinyInt | 16 | Byte OleDbType.TinyInt 11 |
|||||
adUnsignedBigInt | 21 | UInt64 OleDbType.UnsignedBigInt 11 |
|||||
adUnsignedInt | 19 | UInt32 OleDbType.UnsignedInt 11 |
|||||
adUnsignedSmallInt | 18 | UInt16 OleDbType.UnsignedSmallInt 11 |
|||||
adUnsignedTinyInt | 17 | Byte SqlDbType.TinyInt 10 OleDbType.UnsignedTinyInt 11 |
tinyInt | 1 | Byte |
Byte | |
adUserDefined | 132 | ||||||
adVarBinary | 204 | Byte[] SqlDbType.VarBinary 10 OleDbType.VarBinary 11 |
varbinary | 50 | ReplicationID 1 |
Variant | |
adVarChar | 200 | String SqlDbType.VarChar 10 OleDbType.VarChar 11 |
varchar | X | Text 1, 2 |
VarChar | String |
adVariant | 12 | Object SqlDbType.Variant 10 OleDbType.Variant 11 |
sql_variant 9 | 8016 | VarChar2 | Variant | |
adVarNumeric | 139 | OleDbType.VarNumeric 11 | |||||
adVarWChar | 202 | String SqlDbType.NVarChar 10 OleDbType.VarWChar 11 |
nvarchar 5 | X | Text 3 |
NVarChar2 | String |
adWChar | 130 | String SqlDbType.NChar 10 OleDbType.WChar 11 |
nchar 5 | X | String |
Top of Page
1 - ODBC Driver (3.51.171300): Microsoft Access Driver (*.mdb), Access 97 (3.5 format)
2 - OLE DB Provider: Microsoft.Jet.OLEDB.3.51, Access 97 (3.5 format)
3 - OLE DB Provider: Microsoft.Jet.OLEDB.4.0 , Access 2000 (4.0 format)
4 - OLE DB Provider: SQLOLEDB, SQL Server 6.5
5 - OLE DB Provider: SQLOLEDB, SQL Server 7.0 +
6 - The VB Decimal data type can only be used within a Variant, that is, you cannot declare
a VB variable to be of type Decimal.
7 - Oracle 8.0.x Note: DECIMAL and INT are synonyms for NUMBER and NUMBER(10) respectively.
8 - Oracle 8.1.x
9 - OLE DB Provider: SQLOLEDB, SQL Server 2000 +
10 - SQL Server .NET Data Provider (via System.Data.SqlTypes)
11 - OLE DB .NET Data Provider (via System.Data.OleDb)