.net - 在这种情况下如何使用 SQL Parameter

标签 .net sql sql-server vb.net

我的查询是这样的:"SELECT TOP 5 * FROM [TableName] ORDER By NEWID()"
但我想使用 SQL 参数,所以它可能是这样的:"SELECT TOP @ParameterName * FROM [TableName] ORDER By NEWID()"
正常方法不起作用:

Ct.Command.CommandText = "SELECT TOP @ParameterName * FROM [TableName] ORDER By NEWID()"
Ct.Command.Parameters.AddWithValue("@ParameterName", SomeValue)

在这种情况下如何添加参数?

最佳答案

只需在参数周围加上括号即可。自 SQL Server 2005 起受支持

Ct.Command.CommandText = "SELECT TOP (@ParameterName) * FROM [TableName] ORDER By NEWID()"

注:TOP without parenthesis是为了向后兼容;他们应该总是被使用

For backward compatibility, TOP expression without parentheses in SELECT statements is supported, but we do not recommend this.

关于.net - 在这种情况下如何使用 SQL Parameter,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6625595/

相关文章:

mysql - 我如何组织这个 MySQL 数据库?

MySQL 加入语法错误

SQL计数麻烦

sql-server - 在 SQL 存储过程 : a RETURN or an OUTPUT? 中返回单个值更好

sql - 显示乱序时差

c# - 在 C# 中实现 De Boor 样条算法

c# - LINQ 中的条件 "orderby"排序顺序

c# - 反序列化 XML 文件而不将其全部加载到内存中

mysql - 从同一个表中选择和删除

c# - .net Webbrowser控件显示不一样