如何设置sqldatasource参数的值?

时间:2009-06-12 19:33:26

标签: asp.net sqldatasource

我正在尝试设置sqldatasource的{​​{1}}参数selectcommand的值,如下面的代码所示,但它没有成功。

我的代码:

@ClientID

我做错了什么?

8 个答案:

答案 0 :(得分:8)

使其工作的技巧是在添加之前删除您尝试使用的paremeter。您的代码的以下改编版本应该有效:

' NOTE that there is no "@" sign when you use your parameters in the code
Parameter p = strCommandSqlDataSource2.SelectParameters["ClientID"]
strCommandSqlDataSource2.SelectParameters.Remove(p)
strCommandSqlDataSource2.SelectParameters.Add("ClientID", iClientID)

在其使用的代码部分中命名参数时,不应使用“@”符号。您应该只在SQLCOMMAND字符串中使用它。

希望它有所帮助。

答案 1 :(得分:3)

您可以设置参数的值:

SqlParameter parameter1 = new SqlParameter("@ClientID", SqlDbType.BigInt);
parameter1.Value = 32;
SqlDataSource2.SelectParameters.Add(parameter1);

答案 2 :(得分:2)

没关系......配置数据源的参数以获取另一个控件的值..

答案 3 :(得分:1)

如果您使用WYSIWYG编辑器创建数据源并且想要以编程方式更新SQL参数,那么您需要执行以下操作:

Dim strCommand = "SELECT caller_id, phone, name, email FROM callers WHERE client_id=@ClientID"

SqlDataSource2.SelectCommand = strCommand

**SqlDataSource2.SelectParameters.Clear();**

SqlDataSource2.SelectParameters.Add("@ClientID", iClientID)

答案 4 :(得分:1)

我有从GET变量到SelectCommand参数的解决方案

{{1}}

答案 5 :(得分:0)

你可以通过SqlDataSource上的Selecting事件来解决它,我现在在这种控件中如何限制受到限制!!!

另一种方法是在表单中添加一个HiddenField,SqlDataSource可以从那里获取它的值。

答案 6 :(得分:0)

这是VB版本:

Dim parameter As New System.Web.UI.WebControls.Parameter("ClientID", Data.DbType.Int32)
parameter.DefaultValue = 45
sqlTicketInfo.SelectParameters.Add(parameter)

使用VB.NET版本,没有办法实际设置值,所以我设置了默认值。如果未初始化值,则使用默认值,因为我们无法设置该值,所以它将自动使用默认值。

答案 7 :(得分:0)

protected void Page_Load(object sender, EventArgs e)
{
    if (!IsPostBack)
    {
        SqlDataSource SqlDataSource1 = new SqlDataSource();
        SqlDataSource1.ID = "SqlDataSource1";
        this.Page.Controls.Add(SqlDataSource1);
        SqlDataSource1.ConnectionString = System.Configuration.ConfigurationManager.ConnectionStrings["ConID"].ConnectionString;
        SqlDataSource1.SelectCommand = "SELECT caller_id, phone, name, email FROM callers WHERE client_id=@ClientID";
        SqlDataSource1.SelectParameters.Add("ClientID",ClientID);
        GridView1.DataSource = SqlDataSource1;
        GridView1.DataBind();
    }
}
相关问题