Skip to content

table

C

var conStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + "database.mdb";
var con = new OleDbConnection(conStr);
con.Open();

DataTable dataTable = con.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, new object[] { null, null, null, "TABLE" });
int numTables = dataTable.Rows.Count;
for (int tableIndex = 0; tableIndex < numTables; ++tableIndex) {
    String tableName = dataTable.Rows[tableIndex]["TABLE_NAME"].ToString();
    DataTable schemaTable = con.GetOleDbSchemaTable(OleDbSchemaGuid.Columns, new object[] { null, null, tableName, null });
    foreach (DataRow row in schemaTable.Rows) {
        String fieldName = row["COLUMN_NAME"].ToString(); //3
        String fieldType = row["DATA_TYPE"].ToString(); // 11
        String fieldDescription = row["DESCRIPTION"].ToString(); //27
    }
}

create table

CREATE TABLE [tn](
   [Auto]                  COUNTER
  ,[Byte]                  BYTE
  ,[Integer]               SMALLINT
  ,[Long]                  INTEGER
  ,[Single]                REAL
  ,[Double]                FLOAT
  ,[Decimal]               DECIMAL(18,5)
  ,[Currency]              MONEY
  ,[ShortText]             CHAR
  ,[LongText]              MEMO
  ,[PlaceHolder1]          MEMO
  ,[DateTime]              DATETIME
  ,[YesNo]                 BIT
  ,[OleObject]             IMAGE
  ,[ReplicationID]         UNIQUEIDENTIFIER
  ,[Required]              INTEGER NOT NULL
  ,[Unicode Compression]   MEMO WITH COMP
  ,[Indexed]               INTEGER
  ,CONSTRAINT [PrimaryKey] PRIMARY KEY ([Auto])
  ,CONSTRAINT [Unique Index] UNIQUE ([Byte],[Integer],[Long])
);
CREATE INDEX [Single-Field Index] ON [tn]([Indexed]);
CREATE INDEX [Multi-Field Index] ON [tn]([Auto],[Required]);
CREATE INDEX [IgnoreNulls Index] ON [tn]([Single],[Double]) WITH IGNORE NULL;
CREATE UNIQUE INDEX [Combined Index] ON [tn]([ShortText],[LongText]) WITH IGNORE NULL;

create table [mlf_gen] (
  Generator char(255), Voltage_kV char(8), DUID char(50), ConnectionPoint_ID char(50), 
  TNI_code char(50), MLF_2021_22 float, Region char(3)
);

ALTER TABLE [aemo_mlf_2022_gen] 
  ADD CONSTRAINT PK_mlf_gen PRIMARY KEY ([Generator],[ConnectionPoint_ID]);
CREATE INDEX [Single-Field Index] ON [mlf_gen]([DUID]);
CREATE UNIQUE INDEX [Combined Index] ON [mlf_gen]([Generator],[ConnectionPoint_ID]) WITH IGNORE NULL;