如何在代码后面访问参数

时间:2011-11-23 11:01:09

标签: c# asp.net sql

我在formview

的更新命令中有这个存储过程
DECLARE @ResultTelID int ; 
EXECUTE [CUSTOMER].[dbo].[uspUpdateClientTel] 
 @telephoneid
,@telephone
,@TelTypeID
,@DetailsTypeID
,@SortNo
,@ResultTelID OUTPUT

前两个变量位于选择查询中 但我怀疑如何从后面的代码传递更新参数的值

protected void FrmClient_ItemUpdating(object sender, FormViewUpdateEventArgs e)
{        
    string strtel =((form1.FindControl("telephoneidLabel") as Label).Text)as string;

    SqlConnection conTel = new SqlConnection();
    conTel.ConnectionString = Convert.ToString(ConfigurationManager.ConnectionStrings["CUSTOMERConnectionString"]);
    conTel.Open();

    string strcmd = "SELECT tel_type_id, details_type_id, sort_no from TELEPHONE where tel_id =" + strtel;
    SqlCommand cmd = new SqlCommand(strcmd , conTel);
    SqlDataReader rdrTel = cmd.ExecuteReader();
    while( rdrTel.Read())
    {
        int TeltypeID = (int)rdrTel["tel_type_id"];
        int DetailTypeID = (int)rdrTel["details_type_id"];
        Int16 Sort = (Int16)rdrTel["sort_no"];

        //sdsClient.UpdateParameters("TelTypeID").DefaultValue = (int)rdrTel["tel_type_id"];               
    }
    rdrTel.Close();
    conTel.Close();      
}

我想知道如何将三个参数的值分配给update命令(sdsclient是代码的sqldatasource)

感谢您的任何建议。

1 个答案:

答案 0 :(得分:0)

像使用SQLCommand一样添加参数..请按照以下代码段进行操作。

    <asp:sqldatasource id="SqlDataSource1" runat="server">
        <updateparameters>
                <asp:parameter name="Status" type="String" />
                <asp:parameter name="Comment" type="String" />
        </updateparameters>
</asp:sqldatasource>

将其值更新为:

  SqlDataSource1.UpdateParameters["Status"].DefaultValue = "success";
        SqlDataSource1.UpdateParameters["Comment"].DefaultValue = "something";
        SqlDataSource1.Update();

按照此asp.net forum thread了解详情