下面是关于C#创建MDB数据库并存放表格数据的完整攻略。
创建 MDB 数据库
mdb 是 Microsoft Access 的文件格式,用于存储 Access 数据库。如果想要在 C# 中使用 Access 数据库,则需要先创建 mdb 文件。
using System.Data.OleDb;
using System.IO;
// 创建 MDB 数据库
string connectString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=test.mdb";
if (!File.Exists("test.mdb"))
{
Microsoft.Office.Interop.Access.Dao.DBEngine dbEngine = new Microsoft.Office.Interop.Access.Dao.DBEngine();
dbEngine.CreateDatabase("test.mdb", LanguageConstants.dbLangGeneral, DatabaseTypeEnum.dbVersion40);
}
其中,Provider=Microsoft.Jet.OLEDB.4.0
表示使用 Jet 数据库引擎(Microsoft.Jet.OLEDB.4.0)连接 Access 数据库。Data Source
表示设置 mdb 文件的路径和文件名。
在上面的代码中,首先判断路径中是否有 test.mdb 文件。如果没有,则会通过 Microsoft Office 的 SDK 中的 DBEngine
对象来创建 test.mdb 文件。
在 MDB 数据库中创建表格
在已经创建的 mdb 数据库中创建表格,可以使用以下代码:
// 创建表格
string connectString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=test.mdb";
using (OleDbConnection conn = new OleDbConnection(connectString))
{
string sqlCreate = "CREATE TABLE TestTable (ID COUNTER PRIMARY KEY, Name TEXT(50), Age INT)";
OleDbCommand cmd = new OleDbCommand(sqlCreate, conn);
conn.Open();
cmd.ExecuteNonQuery();
}
上面的代码中,先定义了 connectString
,然后使用 OleDbConnection 打开数据库连接。在 sqlCreate
中定义了表格的结构,其中 ID
的类型为 COUNTER
,表示自动编号;Name
的类型是 TEXT(50)
,表示最多存储 50 个字符的文本;Age
的类型是 INT
,表示整数。
最后执行 cmd.ExecuteNonQuery()
,则可以在 test.mdb 中创建名为 TestTable
的表格。
向表格中添加数据
通过上面的步骤,已经可以创建 mdb 数据库并创建表格。下面是向表格中添加数据的方法。
// 向表格中添加数据
string connectString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=test.mdb";
using (OleDbConnection conn = new OleDbConnection(connectString))
{
string sqlInsert = "INSERT INTO TestTable (Name, Age) VALUES ('Tom', 20)";
OleDbCommand cmd = new OleDbCommand(sqlInsert, conn);
conn.Open();
cmd.ExecuteNonQuery();
}
在上面的代码中,使用 INSERT INTO
语句向 TestTable
表格中添加一条数据,姓名为 Tom,年龄为 20。
另外一个示例是向表格中添加多条数据,代码如下:
// 向表格中添加多条数据
string connectString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=test.mdb";
using (OleDbConnection conn = new OleDbConnection(connectString))
{
OleDbCommand cmd = new OleDbCommand();
cmd.Connection = conn;
conn.Open();
cmd.CommandText = "INSERT INTO TestTable (Name, Age) VALUES (?,?)";
OleDbParameter param1 = new OleDbParameter("Name", OleDbType.VarChar, 50);
OleDbParameter param2 = new OleDbParameter("Age", OleDbType.Integer);
cmd.Parameters.Add(param1);
cmd.Parameters.Add(param2);
cmd.Parameters["Name"].Value = "John";
cmd.Parameters["Age"].Value = 25;
cmd.ExecuteNonQuery();
cmd.Parameters["Name"].Value = "Alex";
cmd.Parameters["Age"].Value = 30;
cmd.ExecuteNonQuery();
}
在上面的代码中,使用 OleDbParameter
来代替 INSERT INTO 语句中的实际值。使用 cmd.Parameters.Add(param1)
和 cmd.Parameters.Add(param2)
添加两个参数。
然后使用 cmd.Parameters["Name"].Value
和 cmd.Parameters["Age"].Value
分别给参数赋值,最后通过 cmd.ExecuteNonQuery()
插入数据到 mdb 中。
完整攻略就是以上的内容,请在实际编程中根据具体需求进行调整。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C# 创建MDB数据库、并存放表格数据的案例 - Python技术站