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

本文关键字:过程中 存储过程 存储 文本 获取 | 更新日期: 2023-09-27 18:37:01

>我有几个文本框的表格,我希望任何人更改文本框中的值,但是每当有人输入一些新值时,他们都必须点击更新按钮来更新值。问题是当我运行代码时,根本没有捕获新值,它总是显示旧值。 我什么时候错过了这里?谢谢这是表格中的一个文本框

<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

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

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

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