我正在测试SubSonic,但我坚持第一个简单的例子。我有一个新闻表,我正在尝试获取10个最新结果:
var newsItems = News.GetPaged("datecreated", 0, 10);
这会导致此错误:
[MySqlException (0x80004005): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '-10, 10' at line 6]
生成的SQL:
SELECT `newsid`, `datecreated`, `headline`, `body`, `link`, `picture`, `linkinfo`, `postedby`, `comments`, `category` FROM news ORDER BY newsid DESC LIMIT -10,10
手动修复sql很容易,但我不知道如何让SubSonic自动为查询添加正确的LIMIT。有什么指针吗?
答案 0 :(得分:0)
限制应该是从0开始的正整数。-10
,10不是
- LIMIT
子句可用于约束SELECT语句返回的行数。 LIMIT需要一个或两个数字参数,它们都必须是非负整数常量(使用预准备语句时除外)。
生成的SQL应该是
SELECT `newsid`, `datecreated`, `headline`, `body`, `link`, `picture`,
`linkinfo`, `postedby`, `comments`, `category`
FROM news ORDER BY newsid DESC LIMIT 10;
我认为Subsonic
你需要这个
var newsItems = News.GetPaged("datecreated", 1, 10);