gpt4 book ai didi

c# - 有没有办法在以编程方式替换参数值后获取 CommandText?

转载 作者:搜寻专家 更新时间:2023-10-30 19:58:28 26 4
gpt4 key购买 nike

在 .NET 中以编程方式替换参数值后,是否有办法获取 CommandText

假设我们有一个命令:

let cmd = conn.CreateCommand()
cmd.CommandText <- "select * from smsqueue where smsqueueid=:pid"
cmd.CommandType <- CommandType.Text
cmd.Parameters.Add("pid", 0)

我想获取准备好的命令文本;这将是这样的:

select * from smsqueue where smsqueueid=0

有分析器可以获取此信息,但我想在代码(例如 F# 或 C#)中明确执行此操作。

最佳答案

替换可能不会在文本中执行 - 实际上这样做会更麻烦。当驱动程序可以以预先计划的二进制格式单独传输它们时,为什么还要费心研究如何转义字符串、以特定文本格式表示日期等?

您要实现什么目标?如果这是为了记录,我会分别记录命令文本和参数。除了更容易之外,如果您最终遇到问题,这将使您更清楚:您将能够判断 SQL 是否已正确参数化。

关于c# - 有没有办法在以编程方式替换参数值后获取 CommandText?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4773042/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com