在C# + Access + ADOX环境下创建数据库和数据表

首先在COM选项卡中选择添加:

Microsoft ActiveX Data Objects 2.8 Library

Microsoft ADO Ext. 2.8  for DDL  and Security

并在代码窗口中,添加

using ADOX;

 

 

创建数据库

            ADOX.CatalogClass catalog1 = new CatalogClass();
            catalog1.Create(@"provider = Microsoft.Jet.oledb.4.0; data source = D:/database/QSet.mdb;");
            ADODB.Connection conn = new ADODB.Connection();

                conn.Open(@"provider = Microsoft.Jet.oledb.4.0; data source = D:/database/QSet.mdb;",
                    null, null, -1);
                catalog1.ActiveConnection = conn;
创建数据表
                ADOX.TableClass table1 = new TableClass();
                //table1.ParentCatalog = catalog1;
                table1.Name = "QTable";
                //添加QNO字段
                ADOX.ColumnClass column1 = new ColumnClass();
                column1.ParentCatalog = catalog1;
                column1.Type = ADOX.DataTypeEnum.adVarWChar;
                column1.Name = "QNO";
                column1.Properties["Jet OLEDB:Allow Zero Length"].Value = false;
                column1.DefinedSize = 50;
                table1.Columns.Append(column1, ADOX.DataTypeEnum.adVarWChar, 50);
                 table1.Keys.Append("FirstTablePrimaryKey",KeyTypeEnum.adKeyPrimary,column1,null,null);
                table1.Columns.Append("QCourse",ADOX.DataTypeEnum.adVarWChar,20);
                table1.Columns.Append("QType",ADOX.DataTypeEnum.adVarWChar,20);
                table1.Columns.Append("QKnowledge",ADOX.DataTypeEnum.adVarWChar,50);
                table1.Columns.Append("QDifficulty",ADOX.DataTypeEnum.adVarWChar,50);
                              table1.Columns.Append("QSummary",ADOX.DataTypeEnum.adLongVarWChar,255);
                table1.Columns.Append("QEditer",ADOX.DataTypeEnum.adVarWChar,20);
                table1.Columns.Append("QEditTime",ADOX.DataTypeEnum.adVarWChar,20);
                table1.Columns.Append("QUsedFrequency",ADOX.DataTypeEnum.adDouble,20);
                table1.Columns.Append("QLastTime",ADOX.DataTypeEnum.adDate,20);
                table1.Columns.Append("QPath",ADOX.DataTypeEnum.adVarWChar,255);
                table1.Columns.Append("QIncrease",ADOX.DataTypeEnum.adVarWChar,20);

将数据表添加到数据库中,只有添加这步才能在数据库中最终添加上数据表。
                catalog1.Tables.Append(table1);
                table1 = null;

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
C# ADOX是一种用于访问和操作Microsoft Access数据库的技术。它提供了一组类和方法,可以通过编程方式创建、修改和查询Access数据库。下面是关于C# ADOX读写Access的一些方法和步骤: 1.创建Access数据库: 可以使用ADOX.Catalog类的Create方法来创建一个新的Access数据库。例如,下面的代码可以创建一个名为test.mdb的Access数据库ADOX.Catalog catalog = new Catalog(); catalog.Create("Provider=Microsoft.Jet.OLEDB.4.0;DataSource=d:\\test.mdb;JetOLEDB:EngineType=5"); 2.创建Access表: 可以使用ADOX.Table类的Create方法来创建一个新的Access表。例如,下面的代码可以创建一个名为test_tableAccess表: ADOX.Table table = new Table(); table.Name = "test_table"; table.Columns.Append("ID", DataTypeEnum.adInteger); table.Columns.Append("Name", DataTypeEnum.adVarWChar, 50); table.Keys.Append("PrimaryKey", KeyTypeEnum.adKeyPrimary, "ID", "", ""); 3.向Access表中插入数据: 可以使用ADO.NET的OleDbConnection和OleDbCommand类来向Access表中插入数据。例如,下面的代码可以向test_table表中插入一条记录: OleDbConnection conn = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=d:\\test.mdb"); conn.Open(); OleDbCommand cmd = new OleDbCommand("INSERT INTO test_table(ID, Name) VALUES(1, 'John')", conn); cmd.ExecuteNonQuery(); conn.Close(); 4.从Access表中读取数据: 可以使用ADO.NET的OleDbConnection和OleDbCommand类来从Access表中读取数据。例如,下面的代码可以从test_table表中读取所有记录: OleDbConnection conn = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=d:\\test.mdb"); conn.Open(); OleDbCommand cmd = new OleDbCommand("SELECT * FROM test_table", conn); OleDbDataReader reader = cmd.ExecuteReader(); while (reader.Read()) { Console.WriteLine(reader["ID"].ToString() + " " + reader["Name"].ToString()); } reader.Close(); conn.Close();

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值