【问题标题】:How to choose a specific row with where keyword如何使用 where 关键字选择特定行
【发布时间】:2016-03-13 03:43:12
【问题描述】:

我的 SQL 查询有问题。

我使用 Visual Studio 2015 测试我的网站,并使用 WebMatrix.Data.Database 进行查询。

无论如何,我正在创建一个回复系统,并使用此查询来获取回复:

SELECT * 
FROM ThreadReply 
WHERE ThreadId = " + ThreadId + " 
ORDER BY ReplyId DESC

我知道没有针对 SQL 注入的预防措施,所以请不要让我解决这个问题。

我想添加的查询是从某一行开始并持续到一定数量的行,例如;我的意思是像 LIMIT 命令一样,您可以在其中选择要开始的行,但显然它在 Visual Studio 上不起作用。

另外,请注意,我希望查询中包含 WHERE 关键字为 true 的行,而不是实际表的行。

【问题讨论】:

  • 如何执行查询?使用command.ExecuteReader() ?
  • 检查我的答案,如果对你有帮助,请告诉我。
  • 是的,它有帮助,非常感谢,由于某种原因,当我输入 WHERE 时,LIMIT 关键字不起作用,还有 Hari Prasad,我使用了 WebMatrix.Data.Database.Query();跨度>

标签: c# sql asp.net visual-studio


【解决方案1】:

给你,我认为 sql 的 cmets 很清楚。我也修复了你的sql注入,你只需要添加SqlCommand.Parameters

SELECT 
    * 
FROM 
    ThreadReply 
WHERE 
    ThreadId=@ThreadID 
ORDER BY 
    ReplyId DESC
OFFSET 
    10 ROWS -- skip 10 rows
FETCH NEXT 
    10 ROWS ONLY -- take 10 rows

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-01-27
  • 2018-08-24
  • 1970-01-01
  • 2019-09-11
  • 2021-12-16
  • 2020-01-27
  • 1970-01-01
相关资源
最近更新 更多