相关疑难解决方法(0)

从SqlCommand对象获取生成的SQL语句?

我有以下代码:

Using cmd As SqlCommand = Connection.CreateCommand
    cmd.CommandText = "UPDATE someTable SET Value = @Value"
    cmd.CommandText &= " WHERE Id = @Id"
    cmd.Parameters.AddWithValue("@Id", 1234)
    cmd.Parameters.AddWithValue("@Value", "myValue")
    cmd.ExecuteNonQuery
End Using
Run Code Online (Sandbox Code Playgroud)

我想知道是否有任何方法可以将最终的SQL语句作为String获取,它应该如下所示:

UPDATE someTable SET Value = "myValue" WHERE Id = 1234
Run Code Online (Sandbox Code Playgroud)

如果有人想知道为什么我会这样做:

  • 用于记录(失败)语句
  • 有可能将其复制并粘贴到企业管理器以进行测试

c# vb.net ado.net

177
推荐指数
7
解决办法
15万
查看次数

使用Parameters从DbCommand获取SQL查询字符串

就在C#中对MySQL数据库执行SQL查询之前,我想记录将要执行的查询.我现在所拥有的只是记录SELECT * FROM foo WHERE Id = @Id我希望看到的地方SELECT * FROM foo WHERE Id = 5.我怎么做?

    DbCommand dbCommand = dbFactory.CreateCommand();
    dbCommand.CommandText = "SELECT * FROM foo WHERE Id = @Id";

    DbParameter param = dbCommand.CreateParameter();
    param.ParameterName = "@Id";
    param.Value = 5;

    dbCommand.Parameters.Add(param);

    dbConnection.Open();
    Log.AddVerbose(String.Format("SQL query: {0}", dbCommand.CommandText));
    dbCommand.ExecuteReader();
Run Code Online (Sandbox Code Playgroud)

c# mysql sql

11
推荐指数
1
解决办法
1万
查看次数

如何调试参数化的SQL查询

我使用C#建立数据库连接,然后使用临时SQL获取数据。这个简单的SQL查询非常易于调试,因为我可以记录SQL查询字符串。如果我使用参数化的SQL查询命令,是否有任何方法可以记录SQL查询字符串以进行调试?

c# sql

4
推荐指数
2
解决办法
4119
查看次数

标签 统计

c# ×3

sql ×2

ado.net ×1

mysql ×1

vb.net ×1