从文本框中获取值并使用C#将其传递到存储过程

时间:2013-10-28 01:37:55

标签: c# asp.net

我有几个文本框的表,我希望任何人都可以更改文本框中的值,但每当有人放置一些新值时,他们必须点击更新值来更新值。问题是,当我运行代码时,根本不会捕获新值,它总是显示旧值。我什么时候在这里失踪?谢谢 这是表格中的一个文本框

<td><asp:TextBox ID="myText" runat="server" Width="95%" BackColor="#ffff99" TextMode="MultiLine" Rows="6"></asp:TextBox></td>

以下是代码:

 public void btnUpdate_Click(object sender, EventArgs e)
    {

        SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["myconnection"].ConnectionString);
        SqlCommand sqlcmd = new SqlCommand();
        using (SqlCommand cmd = new SqlCommand())
        {
            ID= Convert.ToInt32(Request.QueryString["ID"]);

            string test= myText.Text;
            cmd.CommandType = CommandType.StoredProcedure;
            cmd.CommandText = "sp_Update";
            cmd.Parameters.AddWithValue("@ID", ID.ToString());
            cmd.Parameters.AddWithValue("@myColumn", test.ToString());

        }
    }

这是我在存储过程中的更新查询

CREATE PROCEDURE [dbo].[sp_Update_Response1]
(
    @ID numeric(1,0),
    @myColumn varchar(300) 
)
AS
    SET NOCOUNT OFF;
UPDATE myTable SET [myColumn] = @myColumn 
WHERE [ID] = @ID
and NBR = '1' ;

SELECT  ID
      ,myColumn
      ,Name
      ,Address
  FROM MyTable
  GO

1 个答案:

答案 0 :(得分:0)

Page_Load事件中,请输入以下内容:

if(!PostBack)
{
    // Set text box value here so that it only loads initial value once
}