c# - MySqlCommand c# - 如何在替换命令文本中的其他参数时忽略自定义行参数
问题描述
因此,我尝试使用以下语法为每个结果生成一个行号,其中:
@row
在查询运行时创建,并且@search
是我自己添加的参数:
var cmd = new MySqlCommand();
cmd.CommandText = @"SET @row = 0;
SELECT
(@row:= @row + 1) AS row,
*
FROM
clients
WHERE
name CONCAT('%', @search, '%')";
cmd.Parameters.AddWithValue("@search", "whatever");
try
{
cmd.Connection.Open();
using (var reader = cmd.ExecuteReader())
{
// blah blah
}
}
catch (Exception ex)
{
cmd.Connection.Close();
}
如果我直接在数据库中运行 MySQL,则此查询工作正常,但我从 c# 收到错误:
Parameter @row must be defined
..如果我使用一个MySqlCommand
对象。
有没有办法解决这个问题?
谢谢
解决方案
推荐阅读
- javascript - React-三纤维光线投射
- ios - 我如何在 android Studio Linux 中添加 iOS 模拟器
- html - 如何自动将 HTML 元素的宽度设置为封闭文本的宽度
- google-cloud-firestore - 对于同一个 Firestore 查询,客户端是否会按每个侦听器收费?
- javascript - 如何在将 element-ui 与 VueJs 一起使用时在控制台中消除此错误“计算属性 validateState 已分配给但它没有设置器”
- jenkins - 如何将 pfx 文件转换为 jks
- c - 使用 C 预处理器将类型名称转换为单个标记
- r - 在闪亮的应用程序中将下载的文件保存在工作目录中
- python - 获取一维 np 数组的片段
- wordpress - 如何修改 get_price_html 以为特价商品创建自定义价格显示