【发布时间】:2016-06-30 13:25:44
【问题描述】:
这是使用 OleDbCommand 和 ExecuteNonQuery 的示例(我从 msdn.microsoft.com 上的手册中获取)。我想查看在执行之前生成的查询。
private static void OleDbCommandPrepare(string connectionString)
{
using (OleDbConnection connection = new
OleDbConnection(connectionString))
{
connection.Open();
// Create the Command.
OleDbCommand command = new OleDbCommand();
// Set the Connection, CommandText and Parameters.
command.Connection = connection;
command.CommandText =
"INSERT INTO dbo.Region (RegionID, RegionDescription) VALUES (?, ?)";
command.Parameters.Add("RegionID", OleDbType.Integer, 4);
command.Parameters.Add("RegionDescription", OleDbType.VarWChar, 50);
command.Parameters[0].Value = 20;
command.Parameters[1].Value = "First Region";
// Call Prepare and ExecuteNonQuery.
command.Prepare();
找出这里正在执行的查询
command.ExecuteNonQuery();
// Change parameter values and call ExecuteNonQuery.
command.Parameters[0].Value = 21;
command.Parameters[1].Value = "SecondRegion";
command.ExecuteNonQuery();
}
}
有什么方法可以做到吗?我正在使用 PgSqlCommand - 它是 OleDbCommand 的 PostgreSQL 等价物并且得到未描述的异常。我能够通过循环 Command.Parameters 并用参数值替换 Command.CommandText 中的问题符号来构建该查询并找到错误,但我希望有一个内置方法来获取该查询。
【问题讨论】:
标签: c# postgresql oledbcommand executenonquery