C# 如何使用where关键字选择特定行
我对SQL查询有问题 我使用Visual Studio 2015测试我的网站,使用WebMatrix.Data.Database进行查询 无论如何,我正在创建回复系统,并使用此查询获取回复:C# 如何使用where关键字选择特定行,c#,sql,asp.net,visual-studio,C#,Sql,Asp.net,Visual Studio,我对SQL查询有问题 我使用Visual Studio 2015测试我的网站,使用WebMatrix.Data.Database进行查询 无论如何,我正在创建回复系统,并使用此查询获取回复: SELECT * FROM ThreadReply WHERE ThreadId = " + ThreadId + " ORDER BY ReplyId DESC 我知道没有预防SQL注入的方法,所以请不要让我来解决这个问题 我想添加的查询是从某一行开始,然后继续查询一定数量的行,例如;我的意思是像
SELECT *
FROM ThreadReply
WHERE ThreadId = " + ThreadId + "
ORDER BY ReplyId DESC
我知道没有预防SQL注入的方法,所以请不要让我来解决这个问题
我想添加的查询是从某一行开始,然后继续查询一定数量的行,例如;我的意思是像LIMIT命令一样,您可以选择要开始的行,但显然它在VisualStudio上不起作用
另外,请注意,我希望查询中的行带有
WHERE
关键字true的行,而不是实际表的行。在这里,我认为sql的注释非常清楚。我还修复了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
如何执行查询?使用
命令.ExecuteReader()
?检查我的答案,并告诉我是否对你有帮助。是的,这很有帮助,非常感谢,出于某种原因,当我输入WHERE in时,LIMIT关键字不起作用,还有Hari Prasad,我使用了WebMatrix.Data.Database.Query();此语法从2012年起受支持。对于旧版本,请参见此问题