将int作为sql参数

问题描述 投票:-2回答:1

我在asp.net中使用sql数据源,试图在这里有一个变量

SELECT TOP  @Number *
From Table

我希望变量来自同一页面上回发的下拉列表。该下拉列表中的所有选项都是整数。如何添加参数? DataSource.SelectParameters.Add()方法仅接受字符串输入

c# sql asp.net parameters sqldatasource
1个回答
0
投票

DataSource.SelectParameters.Add()方法只接受字符串输入?

不可以。您可以提供任何类型的值,您必须使用SQLDbType指定参数类型。

根据您对我的回答的评论。

var s = MealNumberDD.Text;

var param = new SQLParameter("MealNumber", SQLDbType.Int)
{
    Value = Convert.ToInt32(s)
};

RecipesDataSource.SelectParameters.Add(param); 
var query = "SELECT TOP (@MealNumber) * FROM Recipes"; 
RecipesDataSource.SelectCommand = query;
© www.soinside.com 2019 - 2024. All rights reserved.