c# - 当它不是对象时,如何使用 Dapper 在 SQL 更新请求中正确声明变量?
问题描述
我想做这个请求:
public int UpdateOneColumn(string dbName, string tableName, string columnName, string newValue, string whereColumnName, string whereColumnNameValue)
{
string sql = @"update @tableName set @columnName = @newValue where @whereColumnName = @whereColumnNameValue";
return connection.Execute(sql, new {tableName, columnName, newValue, whereColumnName, whereColumnNameValue });
}
但我得到一个错误
必须声明 tableName
有人知道如何正确声明我的变量“tableName、columnName、newValue、whereColumnName 和 whereColumnNameValue”吗?
这个函数正确吗?(我不确定我能做到update @tableName
并且where @whereColumnName
)
解决方案
public int UpdateOneColumn(string dbName, string tableName, string setColumn, object setValue, string whereColumn, object whereValue)
{
string sql = $"UPDATE {tableName} SET {setColumn} = @s WHERE {whereColumn} = @w";
return connection.Execute(sql, new { s = setValue, w = whereValue });
}
推荐阅读
- mathjax - 具有两位分母的 MathJax 分数
- java - Scala/Java:什么会导致构造函数采用不同于 .class 文件中定义的参数类型?
- python - 为什么 pygame.sprite 在我的课程中导致“最大递归深度”?
- ios - 我在 App Store 上上传 Flutter 应用时遇到了这个问题
- resources - 如何在每次模拟运行中导出资源池(忙碌状态)
- sql - 如何按月和年分组,然后按日期作为 SQL 中的日期格式排序?
- python - 如何使用 MongoDB 制作提醒命令?不和谐.py
- nginx - 为什么我的 Nginx 配置没有缓存响应?
- python - 使用对象数据类型的 pandas 从 CSV 读取单元格
- c++ - 如何让用户在菜单选择中重新输入输入?