当使用asp.net(C#)开发网站时,常常会用到数据库来存储和管理数据。而Access数据库是一个常见的轻量级数据库,为了方便我们对Access数据库进行数据操作,我们可以使用Access 数据操作类。下面将从以下几个方面对Access 数据操作类进行详细讲解:
- 数据库连接
- 数据库操作
- 示例说明
1. 数据库连接
在使用Access 数据操作类时,首先需要连接到目标数据库。以下是连接到Access数据库的代码:
OleDbConnection conn = new OleDbConnection();
conn.ConnectionString = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\example.mdb;";
try
{
conn.Open();
//连接成功后的操作
}
catch (OleDbException ex)
{
Console.WriteLine("连接数据库失败:" + ex.Message);
}
finally
{
conn.Close();
}
在连接字符串中,“Provider=Microsoft.Jet.OLEDB.4.0;”表示使用OLE DB提供程序连接Access数据库,“Data Source=C:\example.mdb;”则是指定要连接的数据库的文件路径。
2. 数据库操作
连接成功后,我们可以使用Access 数据操作类来实现对数据库的增、删、改、查等操作。以下是代码示例:
2.1 查询
OleDbCommand cmd = new OleDbCommand();
cmd.CommandText = "SELECT * FROM [example]";
cmd.Connection = conn;
OleDbDataReader reader = cmd.ExecuteReader();
while (reader.Read())
{
Console.WriteLine(reader["id"].ToString() + "," + reader["name"].ToString());
}
以上代码中,“example”是要查询的数据库表的名称,“id”和“name”则是要查询的列名。
2.2 插入
OleDbCommand cmd = new OleDbCommand();
cmd.CommandText = "INSERT INTO [example] ([name]) VALUES (?)";
cmd.Connection = conn;
cmd.Parameters.AddWithValue("@name", "test");
cmd.ExecuteNonQuery();
以上代码中,“example”是要插入数据的数据库表的名称,而“@name”则是要插入数据的列名。
2.3 更新
OleDbCommand cmd = new OleDbCommand();
cmd.CommandText = "UPDATE [example] SET [name] = ? WHERE [id] = ?";
cmd.Connection = conn;
cmd.Parameters.AddWithValue("@name", "test2");
cmd.Parameters.AddWithValue("@id", 1);
cmd.ExecuteNonQuery();
以上代码中,“example”是要更新数据的数据库表的名称,“id”是要更新数据的行的主键列名。
2.4 删除
OleDbCommand cmd = new OleDbCommand();
cmd.CommandText = "DELETE FROM [example] WHERE [id] = ?";
cmd.Connection = conn;
cmd.Parameters.AddWithValue("@id", 1);
cmd.ExecuteNonQuery();
以上代码中,“example”是要删除数据的数据库表的名称,“id”是要删除数据的行的主键列名。
3. 示例说明
为了更好的理解Access 数据操作类的用法,下面将分别给出使用Access 数据操作类进行查询和插入操作的完整示例。
3.1 示例一:查询
OleDbConnection conn = new OleDbConnection();
conn.ConnectionString = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\example.mdb;";
try
{
conn.Open();
OleDbCommand cmd = new OleDbCommand();
cmd.CommandText = "SELECT * FROM [example]";
cmd.Connection = conn;
OleDbDataReader reader = cmd.ExecuteReader();
while (reader.Read())
{
Console.WriteLine(reader["id"].ToString() + "," + reader["name"].ToString());
}
}
catch (OleDbException ex)
{
Console.WriteLine("操作数据库失败:" + ex.Message);
}
finally
{
conn.Close();
}
以上示例中,“example.mdb”是要查询的Access数据库文件,而“example”则是要查询的数据库表的名称。
3.2 示例二:插入
OleDbConnection conn = new OleDbConnection();
conn.ConnectionString = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\example.mdb;";
try
{
conn.Open();
OleDbCommand cmd = new OleDbCommand();
cmd.CommandText = "INSERT INTO [example] ([name]) VALUES (?)";
cmd.Connection = conn;
cmd.Parameters.AddWithValue("@name", "test");
cmd.ExecuteNonQuery();
}
catch (OleDbException ex)
{
Console.WriteLine("操作数据库失败:" + ex.Message);
}
finally
{
conn.Close();
}
以上示例中,“example.mdb”是要插入数据的Access数据库文件,而“example”则是要插入数据的数据库表的名称。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:asp.net(C#) Access 数据操作类 - Python技术站