• Access mdb字段类型获取


    相信不会再用到

    https://www.daniweb.com/programming/software-development/threads/373942/getoledbschematable-data-types

    https://www.w3schools.com/asp/prop_para_type.asp

    COLUMN_NAME
    CHARACTER_MAXIMUM_LENGTH
    COLUMN_FLAGS
    COLUMN_HASDEFAULT
    character_octet_length
    NUMERIC_PRECISION
    NUMERIC_SCALE
    IS_NULLABLE
    TABLE_NAME
    ORDINAL_POSITION
    DATA_TYPE

    string strCon = " Provider = Microsoft.Jet.OLEDB.4.0 ; Data Source =" + address;
    myConn = new OleDbConnection(strCon);

    myConn.Open();
    //foreach (DataRow r in myConn.GetSchema("Tables").Select("TABLE_TYPE = 'TABLE'"))
    //{
    //    tables.Add(r["TABLE_NAME"].ToString());
    //}
    //DataTable schema = myConn.GetSchema("Columns");
    //foreach (DataRow row in schema.Rows)
    //{
    //    cols.Add(row.Field<string>("COLUMN_NAME"));
    //    tbls.Add(row.Field<string>("TABLE_NAME"));
    //}
    
    
    DataTable schemaTable = myConn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, new Object[] { null, null, null, "TABLE" });
    //List the table name from each row in the schema table.
    //for (int i = 0; i < schemaTable.Rows.Count; i++)
    //{
    //    string Current_Str = schemaTable.Rows[i].ItemArray[2].ToString();
    //}
    DataTable tableColumns = myConn.GetOleDbSchemaTable(OleDbSchemaGuid.Columns, new object[] { null, null, "cfdj", null });
    foreach (DataRow row in tableColumns.Rows)
    {
        var columnNameColumn = row["COLUMN_NAME"];
        var dateTypeColumn = row["DATA_TYPE"];
        var ordinalPositionColumn = row["ORDINAL_POSITION"];
    }
    
    
    StringBuilder sbColumnDetails = new StringBuilder();
    foreach (DataColumn column in schemaTable.Columns)
    {
        sbColumnDetails.Append("Column Name: ");
        sbColumnDetails.Append(column.ColumnName);
    
        sbColumnDetails.Append(" ");
    
        sbColumnDetails.Append("Column DataType: ");
        sbColumnDetails.Append(column.DataType.ToString());
    
        sbColumnDetails.Append(" || ");
    }
    ConstantValueDescription
    adEmpty 0 No value
    adSmallInt 2 A 2-byte signed integer.
    adInteger 3 A 4-byte signed integer.
    adSingle 4 A single-precision floating-point value.
    adDouble 5 A double-precision floating-point value.
    adCurrency 6 A currency value
    adDate 7 The number of days since December 30, 1899 + the fraction of a day.
    adBSTR 8 A null-terminated character string.
    adIDispatch 9 A pointer to an IDispatch interface on a COM object. Note: Currently not supported by ADO.
    adError 10 A 32-bit error code
    adBoolean 11 A boolean value.
    adVariant 12 An Automation Variant. Note: Currently not supported by ADO.
    adIUnknown 13 A pointer to an IUnknown interface on a COM object. Note: Currently not supported by ADO.
    adDecimal 14 An exact numeric value with a fixed precision and scale.
    adTinyInt 16 A 1-byte signed integer.
    adUnsignedTinyInt 17 A 1-byte unsigned integer.
    adUnsignedSmallInt 18 A 2-byte unsigned integer.
    adUnsignedInt 19 A 4-byte unsigned integer.
    adBigInt 20 An 8-byte signed integer.
    adUnsignedBigInt 21 An 8-byte unsigned integer.
    adFileTime 64 The number of 100-nanosecond intervals since January 1,1601
    adGUID 72 A globally unique identifier (GUID)
    adBinary 128 A binary value.
    adChar 129 A string value.
    adWChar 130 A null-terminated Unicode character string.
    adNumeric 131 An exact numeric value with a fixed precision and scale.
    adUserDefined 132 A user-defined variable.
    adDBDate 133 A date value (yyyymmdd).
    adDBTime 134 A time value (hhmmss).
    adDBTimeStamp 135 A date/time stamp (yyyymmddhhmmss plus a fraction in billionths).
    adChapter 136 A 4-byte chapter value that identifies rows in a child rowset
    adPropVariant 138 An Automation PROPVARIANT.
    adVarNumeric 139 A numeric value (Parameter object only).
    adVarChar 200 A string value (Parameter object only).
    adLongVarChar 201 A long string value.
    adVarWChar 202 A null-terminated Unicode character string.
    adLongVarWChar 203 A long null-terminated Unicode string value.
    adVarBinary 204 A binary value (Parameter object only).
    adLongVarBinary 205 A long binary value.
    AdArray 0x2000 A flag value combined with another data type constant. Indicates an array of that other data type.

  • 相关阅读:
    FreeMarker MyEclipse IDE
    Mybatis MapperScannerConfigurer 自动扫描 将Mapper接口生成代理注入到Spring
    Mybatis SqlSessionTemplate 源码解析
    Mybatis Interceptor 拦截器原理 源码分析
    MyBatis Mapper 接口如何通过JDK动态代理来包装SqlSession 源码分析
    MyEclipse SVN 下面切换用户的解决方案
    SpringMVC 多个数据源 配置多个事物管理器 Multiple Transaction Managers
    Activiti 获取定义
    [No000066]python各种类型转换-int,str,char,float,ord,hex,oct等
    [No000065]python 获取当前时间
  • 原文地址:https://www.cnblogs.com/yansc/p/15620539.html
Copyright © 2020-2023  润新知