PetaPoco查询抱怨语法顺序不正确



给出这个看似简单的查询:

var sql = Sql.Builder
             .Append("SELECT * FROM Log")
             .Append("WHERE ApplicationId=@0", 1)
             .Append("ORDER BY @0 @1", "Timestamp", "ASC");
return _db.Page<Log>(1, 25, sql);

'@2'附近语法错误。(@2在最后一个append中最终求值为@1)

我做错了什么?

问题是在.Append("ORDER BY @0 @1", "Timestamp", "ASC");,因为TimestampASC被解释为参数。

你需要在那里连接字符串:

 .Append(String.Format("ORDER BY {0} {1}", "Timestamp", "ASC"));

小心这是一个可能的sql注入攻击向量。清理输入

最新更新