我試圖從數據庫中檢索信息。用戶輸入他正在尋找的人的身份證文本框的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" />
你也可以顯示按鈕的ASPX標記嗎? –
當然,剛添加。 – Eugene
除非我錯過了一些東西 - 它看起來沒問題。你有什麼錯誤嗎?如果沒有,你確定SP返回數據嗎?你可以嘗試使用相同的參數從SSMS自行運行它嗎? –