相信不会再用到
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(" || "); }
Constant | Value | Description |
---|---|---|
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. |