0

30日、60日、90日などのいくつかのボタンを含むページstatus.aspxがあります。クリックされたボタンに応じて、既存のグリッドビューにパラメータを渡したいのですが。私のコードは次のようにグリッドビューを表示します。

    Dim cmd As SqlCommand = New SqlCommand("up_AcctStatus", conn)
    cmd.CommandType = CommandType.StoredProcedure

    Dim paramNumOfDays As New SqlParameter("@NumOfDays", SqlDbType.Int)
    paramNumOfDays.Value = "??? 30, 60 or 90 ???"
    cmd.Parameters.Add(paramNumOfDays)

GridView1.DataSource = cmd.ExecuteReader()GridView1.DataBind()

4

1 に答える 1

0

ORMを使用したくないがsqlComandを使用したい場合は、次のことができます。

            protected void Button1_Click(object sender, EventArgs e)
            {
                Fill(60);
            }
            protected void Button2_Click(object sender, EventArgs e)
            {
                Fill(30);
            }

            private void Fill(int numberOfDays)
            {
                using (SqlConnection connection = new SqlConnection("connectionString"))
                {
                    connection.Open();

                    SqlDataAdapter sda = new SqlDataAdapter();
                    sda.SelectCommand = new SqlCommand("stored procedure name", connection);
                    sda.SelectCommand.CommandType = CommandType.StoredProcedure;
                    sda.SelectCommand.Parameters.AddWithValue("@NumOfDays", numberOfDays);

                    DataSet ds = new DataSet();
                    sda.Fill(ds, "result_table");

                    GridView1.DataSource = ds.Tables["result_table"];
                    GridView1.DataBind();
                }
            }

vb:

                Protected Sub Button1_Click(sender As Object, e As EventArgs)
                Fill(60)
                End Sub

                Protected Sub Button2_Click(sender As Object, e As EventArgs)
                    Fill(30)
                End Sub

                Private Sub Fill(numberOfDays As Integer)
                    Using connection As New SqlConnection("connectionString")
                        connection.Open()

                        Dim sda As New SqlDataAdapter()
                        sda.SelectCommand = New SqlCommand("stored procedure name", connection)
                        sda.SelectCommand.CommandType = CommandType.StoredProcedure
                        sda.SelectCommand.Parameters.AddWithValue("@NumOfDays", numberOfDays)

                        Dim ds As New DataSet()
                        sda.Fill(ds, "result_table")

                        GridView1.DataSource = ds.Tables("result_table")
                         GridView1.DataBind()
                    End Using
                End Sub
于 2013-01-22T18:04:26.180 に答える