mysql - .net core 2 尝试将参数传递给 mysql 命令时出现奇怪的错误
问题描述
_context.Database.ExecuteSqlCommand($@"UPDATE table SET column =
CONCAT(column,'?{string}') WHERE id = {id}");
string 是一个字符串变量,它包含一个要附加到数据库中的值,但不知何故,附加在数据库中的字符串是 ?@p0 而不是 ?value 我使用的是 pomelo mysql。
解决方案
查看“Dapper”库以与您的数据库进行交互。然后对于代码,您可以这样做:
using Dapper;
string sql = "UPDATE table SET column = CONCAT(column, @s) WHERE id = @id";
using (var connection = new SqlConnection(yourConnectionString))
{
try
{
connection.Execute(sql, new { @id = yourid, s = string });
}
catch (SqlException e)
{
Debug.WriteLine(e);
}
}
推荐阅读
- c# - ExceptionHandling:如果控制器方法返回json则返回json,如果View则返回Redirect
- python - 如何在flassger(python swagger)中为auth发送通用标头
- machine-translation - Luong 注意和 Bahdanau。我们什么时候应该使用 Luong 或 Bahdanau?
- javascript - 将圆圈排列成行
- python-asyncio - 在 Aiohttp 应用程序中管理长时间运行的任务
- vbscript - 预期的语句结束。如何分配两个参数?
- javascript - 浏览器 - 防止显示自动完成框?
- c# - 如何从 YAML 数组切换到映射?
- angular - 如何从 div 中引用 ng-template?
- jenkins - 我可以从共享库中使用 jenkins post 步骤吗?