Передача параметра в TextBox - PullRequest
0 голосов
/ 15 декабря 2011

Я пытаюсь передать параметр в мое текстовое поле, которое связывается с моей базой данных и запускает хранимую процедуру одним нажатием кнопки.

Кнопка работает, если я жестко запрограммировал значение параметра, но мне нужно принять параметры в текстовом поле.

Есть идеи, как я могу исправить этот код для достижения этой цели?

Это один из моих классов

public FixPayrollMonth PayrollMonth()
{
    return StoreProcPayrollMonth("fix_Payroll_PayingMonth");
}

private FixPayrollMonth StoreProcPayrollMonth(string storeprocedurename)
{
    FixPayrollMonth result = new FixPayrollMonth() {IsSuccess = false };
    SqlCommand cmd = new SqlCommand(storeprocedurename, Connection);
    cmd.Parameters.Add(new SqlParameter("@Month_Change", 123456 ));         
    cmd.CommandType = System.Data.CommandType.StoredProcedure;
    cmd.Connection.Open();

    using (var data = cmd.ExecuteReader())
    {
        while (data.Read())
        {
            result.MonthChanged = Convert.ToInt32(data["MonthChanged"]);
            result.IsSuccess = Convert.ToBoolean(data["IsSuccess"]);
        }
    }
    return result;
}

Это мой клик ... Мне нужно связать его с моим текстовым полем с именем txtPay

protected void btnFixMnth_Click(object sender, EventArgs e)
{
    var result = repo.PayrollMonth();
    if (result.IsSuccess)
    {
        lblMessageBoxMnthChg.Text = "Succesful Month has been changed to: " + result.MonthChanged;
    }
    else
    {
        lblMessageBoxMnthChg.Text = "Failed to change month";
    }
}

1 Ответ

0 голосов
/ 15 декабря 2011

Ваш вызов repo.PayrollMonth потребовал бы, чтобы параметр передал значение текстового поля.Таким образом, в вашем событии нажатия кнопки вы должны сделать:

 var result = repo.PayrollMonth(txtPay.Text);

И ваш репо нужно будет изменить, чтобы он выглядел следующим образом:

 public FixPayrollMonth(string pay)
 {
      StoreProcPayrollMonth("fix_Payroll_PayingMonth", pay);
}

private FixPayrollMonth StoreProcPayrollMonth(string storeprocedurename, string pay)
{
    FixPayrollMonth result = new FixPayrollMonth() {IsSuccess = false };
    SqlCommand cmd = new SqlCommand(storeprocedurename, Connection);
    cmd.Parameters.Add(new SqlParameter("@Month_Change", pay ));         
    cmd.CommandType = System.Data.CommandType.StoredProcedure;
    cmd.Connection.Open();



    using (var data = cmd.ExecuteReader())
    {
        while (data.Read())
        {
            result.MonthChanged = Convert.ToInt32(data["MonthChanged"]);
            result.IsSuccess = Convert.ToBoolean(data["IsSuccess"]);
        }
    }

    return result;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...