温馨提示×

OleDbCommand的用法

小云
160
2024-02-05 11:18:50
栏目: 编程语言

OleDbCommand是用于在OleDb连接中执行SQL语句的类。它可以执行查询、插入、更新和删除等操作。

下面是OleDbCommand常用的一些方法和属性:

  1. 构造函数:

    • OleDbCommand():无参数的构造函数。
    • OleDbCommand(string cmdText):使用指定的SQL语句创建一个OleDbCommand对象。
    • OleDbCommand(string cmdText, OleDbConnection connection):使用指定的SQL语句和OleDbConnection对象创建一个OleDbCommand对象。
  2. 属性:

    • CommandText:获取或设置要执行的SQL语句。
    • CommandType:获取或设置要执行的命令类型(Text、TableDirect、StoredProcedure等)。
    • Connection:获取或设置与OleDbCommand相关联的OleDbConnection对象。
    • Parameters:获取与OleDbCommand相关联的参数集合。
  3. 方法:

    • ExecuteNonQuery():执行SQL语句并返回受影响的行数,适用于插入、更新和删除操作。
    • ExecuteReader():执行SQL语句并返回一个OleDbDataReader对象,用于读取查询结果。
    • ExecuteScalar():执行SQL语句并返回结果集中的第一行第一列的值。
    • Prepare():准备要执行的SQL语句或存储过程。

下面是一个使用OleDbCommand执行查询的示例代码:

string connectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\\mydb.accdb";
string query = "SELECT * FROM Customers WHERE Country = ?";
using (OleDbConnection connection = new OleDbConnection(connectionString))
{
    connection.Open();
    using (OleDbCommand command = new OleDbCommand(query, connection))
    {
        command.Parameters.AddWithValue("Country", "USA");
        using (OleDbDataReader reader = command.ExecuteReader())
        {
            while (reader.Read())
            {
                Console.WriteLine("CustomerID: {0}, CompanyName: {1}, ContactName: {2}",
                    reader["CustomerID"], reader["CompanyName"], reader["ContactName"]);
            }
        }
    }
}

以上示例使用了OleDbCommand的构造函数和ExecuteReader()方法来执行查询,并使用参数化查询来避免SQL注入攻击。

0