2011-12-15 15 views
0

私のデータベースと通信するテキストボックスにパラメータを渡そうとしており、ボタンをクリックしてストアドプロシージャを実行しています。パラメータをテキストボックスに渡す

パラメータ値をハードコードするとボタンが機能しますが、テキストボックスにパラメータを受け入れる必要があります。

どのように私はこれを達成するためにこのコードを修正できますか?

これは、これは私のボタンのクリックで私のクラスの1

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"; 
    } 
} 
+3

あなたは、「私のテキストボックスにパラメータを渡す」とはどういう意味ですか?その価値を設定したいだけですか? 'txtPay.Text ="ある値 "はそれを達成するでしょう。 – David

答えて

0

呼ば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; 
} 
+0

ありがとうございました:) – user1100021

+0

うれしい – mreyeros

関連する問題