C# OleDbCommand 连接属性
C# OleDbCommand Connection Properties
我想知道为什么这段代码不起作用,因为我已经构建了一个方法来连接到数据库并打开连接。我认为这是因为我跳过了 OleDbCommand Connection
属性的使用。是否必须使用此属性?
我尝试将 Connection()
方法直接分配给 OleDbCommand cmd = new OleDbCommand("SELECT City FROM Employees", Connection().Open());
对象也没有成功。
using System;
using System.Data;
using System.Data.OleDb;
class KDRM
{
static void Main()
{
OleDbCommand cmd = new OleDbCommand("SELECT City FROM Employees");
Connection().Open();
OleDbDataReader rdr = cmd.ExecuteReader();
while (rdr.Read())
{
Console.WriteLine(rdr.GetString(0));
}
Console.ReadLine();
}
public static OleDbConnection Connection()
{
OleDbConnection conn = new OleDbConnection();
conn.ConnectionString = "Connection...";
return conn;
}
}
这一行
OleDbCommand cmd = new OleDbCommand("SELECT City FROM Employees", Connection().Open());
无法工作,因为您试图将 Open 的结果作为 OleDbCommand 构造函数的第二个参数传递,但这是一个无效方法,因此您的代码甚至无法编译。
无论何时尝试执行命令,都需要将命令连接 属性 设置为有效连接,并且该连接应在您执行命令时打开。
创建连接时有一些既定的良好做法可供使用,您应该出于充分的理由遵循这些做法
static void Main()
{
using(OleDbConnection cn = Connection())
using(OleDbCommand cmd = new OleDbCommand("SELECT City FROM Employees", cn);
{
cn.Open();
using(OleDbDataReader rdr = cmd.ExecuteReader())
{
while (rdr.Read())
{
....
}
}
}
Console.ReadLine();
}
using 语句确保代码中的一次性对象在出现异常时也被关闭和处置。
你应该添加这样的代码:
// Set the Connection to the new OleDbConnection.
command.Connection = connection;
我想知道为什么这段代码不起作用,因为我已经构建了一个方法来连接到数据库并打开连接。我认为这是因为我跳过了 OleDbCommand Connection
属性的使用。是否必须使用此属性?
我尝试将 Connection()
方法直接分配给 OleDbCommand cmd = new OleDbCommand("SELECT City FROM Employees", Connection().Open());
对象也没有成功。
using System;
using System.Data;
using System.Data.OleDb;
class KDRM
{
static void Main()
{
OleDbCommand cmd = new OleDbCommand("SELECT City FROM Employees");
Connection().Open();
OleDbDataReader rdr = cmd.ExecuteReader();
while (rdr.Read())
{
Console.WriteLine(rdr.GetString(0));
}
Console.ReadLine();
}
public static OleDbConnection Connection()
{
OleDbConnection conn = new OleDbConnection();
conn.ConnectionString = "Connection...";
return conn;
}
}
这一行
OleDbCommand cmd = new OleDbCommand("SELECT City FROM Employees", Connection().Open());
无法工作,因为您试图将 Open 的结果作为 OleDbCommand 构造函数的第二个参数传递,但这是一个无效方法,因此您的代码甚至无法编译。
无论何时尝试执行命令,都需要将命令连接 属性 设置为有效连接,并且该连接应在您执行命令时打开。
创建连接时有一些既定的良好做法可供使用,您应该出于充分的理由遵循这些做法
static void Main()
{
using(OleDbConnection cn = Connection())
using(OleDbCommand cmd = new OleDbCommand("SELECT City FROM Employees", cn);
{
cn.Open();
using(OleDbDataReader rdr = cmd.ExecuteReader())
{
while (rdr.Read())
{
....
}
}
}
Console.ReadLine();
}
using 语句确保代码中的一次性对象在出现异常时也被关闭和处置。
你应该添加这样的代码:
// Set the Connection to the new OleDbConnection.
command.Connection = connection;