2

これは私が使用しているコードです。ドロップダウンで選択した項目をストアドプロシージャへの入力として渡し、それを実行したいのですが、どうすればそれを実現できますか?

public class DaysForEvents
{
    public DataSet GetDaysForEvents(//This should be my input to stored procedure (i.e)  dropdownselected value)
    {
        SqlConnection con = new SqlConnection(CommonSettings.GetEventsConnectionString());

        try
        {
            SqlCommand sqlcmd = new SqlCommand("proc_fetch_event_days", con);
            SqlDataAdapter sqlda = new SqlDataAdapter(sqlcmd);
            DataSet ds = new DataSet();
           //DateFilter = 0;
            //StatusFilter = 0;

            sqlcmd.CommandType = CommandType.StoredProcedure;

            sqlcmd.Parameters.AddWithValue("@event_id", Event_id);
            // sqlcmd.Parameters["@UserID"].Value = UserID;


            con.Open();
            sqlda.Fill(ds);
            con.Close();

            return ds;


        }
4

4 に答える 4

1

私が理解しているように、あなたはこれが欲しいです。

//get dropdown selected value and store in a variable 
var eventId = dropdown.SelectedValue; 

//pass this variable in the GetDaysForEvents method to get DataSet.
var dataSet = GetDaysForEvents(eventId); 
于 2012-08-28T09:09:58.803 に答える
0
sqlcmd.Parameters.AddWithValue("@event_id", yourDropDown.SelectedValue);
于 2012-08-28T09:09:00.797 に答える
0

次のように関数を呼び出します

string eventId = ddlEvents.SelectedValue;
GetDaysForEvents(eventId);
于 2012-08-28T09:11:19.080 に答える
0

using-接続を閉じて未使用のリソースを破棄するためのユーザーステートメント。

-DataAdapter接続を単独で開くので、Open();の必要はありません。

public DataSet GetDaysForEvents(string eventId)
{
    var ds = new DataSet();
    using(var connection = new SqlConnection("ConnectionString"))
    {
        using(var cmd = new SqlCommand("storedProcedureName", connection){ CommandType = CommandType.StoredProcedure })
        {
            cmd.Parameters.AddWithValue("@EventId", eventId);
            using(var adapter = new SqlDataAdapter(cmd))
            {
                adapter.Fill(ds);
            }
        }
    }
    return ds;
}

そしてどこか他の場所

var events = yourClassInstance.GetDaysForEvents(dropDown.SelectedValue);
于 2012-08-28T09:16:34.797 に答える