PetaPoco查询通过语法抱怨错误的顺序

时间:2014-07-16 04:54:04

标签: 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);

&#39; @ 2&#39;附近的语法不正确。 (@ 2最后评估到最后一个附加的@ 1)

我做错了什么?

1 个答案:

答案 0 :(得分:3)

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

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

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

请注意这是一个可能的SQL注入攻击向量。 清理您的输入