当Dapper不是对象时,如何使用Dapper正确声明SQL更新请求中的变量?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了当Dapper不是对象时,如何使用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 });
}
以上是关于当Dapper不是对象时,如何使用Dapper正确声明SQL更新请求中的变量?的主要内容,如果未能解决你的问题,请参考以下文章
为啥 dapper 在进行选择时为 Guid 返回全零但表中的 guid 值设置正确?