0

データベースから情報を取得しようとしています。ユーザーは、表示ボタンを押すよりも、探している人のIDをIDテキストボックスに入力します。グリッド ビューに結果が表示されます。しかし、ボタンを押しても何も起こりません。誰かが私が何をチェックすべきか教えてくれますか? ボタンのコード:

protected void btnDisplay_Click(object sender, EventArgs e)
        {
            SqlConnection conn = new SqlConnection("Data Source="Name";Initial Catalog="Name";Integrated Security=True");
            SqlCommand cmd = new SqlCommand("displayData", conn);
            conn.Open();
            cmd.Parameters.Add("@ID", System.Data.SqlDbType.Int).Value = Convert.ToInt32(txtID.Text);
            cmd.CommandType = CommandType.StoredProcedure;
            SqlDataReader rd = cmd.ExecuteReader();
            grvResults.DataSource = rd;
            grvResults.DataBind();
        }

ストアド プロシージャは次のとおりです。

USE ["Name"]
GO  
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER procedure [dbo].[displayData] (@ID int)
as
begin
SELECT * FROM Customers WHERE ID = @ID
end

表示データの方法は次のとおりです。

public List<Customer> displayData()
        {
            List<Customer> lst = new List<Customer>();
            SqlConnection conn = new SqlConnection("Data Source="Name";Initial Catalog="Name";Integrated Security=True");
            SqlCommand cmd = new SqlCommand("Select * From Customers", conn);
            conn.Open();
            SqlDataReader rd = cmd.ExecuteReader();
            while (rd.Read())
            {
                lst.Add(new Customer()
                {
                    ID = rd.GetInt32(0),
                    FName = rd.GetString(1),
                    LName = rd.GetString(2)

                });
            }
            return lst;
        }

ボタンの aspx:

<asp:Button ID="btnDisplay" runat="server" Text="Display" OnClick="btnDisplay_Click" />
4

3 に答える 3

0

あなたは自分自身を複雑にしすぎていると思います。まず、次のことを行います。 最初のオプションを選択: SQL ステートメントまたはストアド プロシージャ 次に、ストアドプロシージャを選択します ソース コントロール (テキスト ボックス) を選択し、[次へ] をクリックします。

次に、クライアント ID を入力してボタンをクリックします。 ボタンをクリックする際に、次のように記述する必要があります: **SqlDataSource1.DataBind();**

それはそれを機能させるはずです。簡単にするストアドプロシージャが既にあります。(写真で申し訳ありません、あなたがこれを理解していることを確認したかったのです)

于 2013-09-21T06:38:13.613 に答える
0

ボタンクリックにブレークポイントを設定しようとしましたか。ブレークポイントに達していますか。そうでない場合は、削除します

OnClick="btnDisplay_Click" 

あなたのaspxページから。次に、コントロールとそのイベントを選択して、.cs ページからデフォルトのクリック イベントを追加します。行ごとにデバッグしようとします。

于 2013-09-21T06:09:30.147 に答える