C#操作Access数据库完全指南

3星 · 超过75%的资源 需积分: 10 5 下载量 127 浏览量 更新于2024-09-17 收藏 42KB DOC 举报
“C#操作Access数据库的方法大全” 在C#编程中,Access数据库是一个常见的数据存储选择,尤其适合小型应用程序。以下将详细讲解如何使用C#来操作Access数据库,包括建立连接、执行SQL语句、创建数据库以及创建数据库表。 1. 建立与Access数据库的连接 在C#中,你可以使用`System.Data.OleDb`命名空间下的`OleDbConnection`类来建立与Access数据库的连接。连接字符串是关键,它指定了数据库提供者、数据源等信息。例如: ```csharp String connectionString = "Provider=Microsoft.Jet.OLEDB.4.0;DataSource=product.mdb"; OleDbConnection connection = new OleDbConnection(connectionString); ``` 这里的连接字符串中,“Provider”指定了数据提供者(Microsoft.Jet.OLEDB.4.0用于Jet引擎,适用于早期的Access版本;对于Access 2007及更高版本,应使用“Microsoft.ACE.OLEDB.12.0”),而“DataSource”则指定了Access数据库的路径。 2. 执行SQL语句 使用`OleDbCommand`类,你可以创建并执行SQL命令。例如: ```csharp string sql = "INSERT INTO TableName (Column1, Column2) VALUES ('Value1', 'Value2')"; OleDbCommand cmd = new OleDbCommand(sql, connection); connection.Open(); cmd.ExecuteNonQuery(); ``` `ExecuteNonQuery()`方法用于执行非查询操作,如插入、更新或删除记录。 3. 创建Access数据库 如果需要在运行时创建一个新的Access MDB数据库,可以使用`System.Data.OleDb`命名空间外的`ADOX`(ActiveX Data Objects Extensions)库。下面的示例展示了如何创建数据库: ```csharp public static bool CreateMDBDataBase(string mdbPath) { try { ADOX.CatalogClass cat = new ADOX.CatalogClass(); cat.Create("Provider=Microsoft.Jet.OLEDB.4.0;DataSource=" + mdbPath + ";"); cat = null; return true; } catch { return false; } } ``` 这里`cat.Create()`方法用于创建新的数据库。 4. 创建Access数据库表 创建表需要使用`ADOX.Table`对象。以下示例演示了如何创建一个包含多个列的表: ```csharp public static bool CreateMDBTable(string mdbPath, string tableName, ArrayList mdbHead) { try { ADOX.CatalogClass cat = new ADOX.CatalogClass(); string sAccessConnection = @"Provider=Microsoft.Jet.OLEDB.4.0;DataSource=" + mdbPath; ADODB.Connection cn = new ADODB.Connection(); cn.Open(sAccessConnection); // 假设mdbHead包含了列名 ADOX.Table table = new ADOX.Table(); table.Name = tableName; foreach (string columnName in mdbHead) { ADOX.Column column = new ADOX.Column(); column.Name = columnName; column.Type = ADOX.DataTypeEnum.adVarChar; table.Columns.Append(column.Name, column.Type); } cat.Tables.Append(table.Name, table); cat = null; cn.Close(); cn = null; return true; } catch { return false; } } ``` 这个函数接收数据库路径、表名和一个包含列名的ArrayList,然后创建一个新表并添加相应的列。 总结: 在C#中,通过`OleDbConnection`、`OleDbCommand`以及`ADOX`库,我们可以方便地进行Access数据库的连接、SQL操作、创建数据库和表等一系列操作。这些方法为开发小型应用程序提供了实用的数据管理功能。记得在使用时根据实际的Access版本选择合适的数据库提供者,并确保处理好异常,以确保代码的健壮性。