[英]Setting parameter for stored procedure
我已經設置了一個存儲過程,該存儲過程使用一個輸入參數( @QuestionID
)檢索單個記錄(記錄來自多個數據表的元素)。
創建了一個數據讀取器,並使用這些值填充我的網頁上的值。
我不知道該怎么辦,是要設置輸入參數的值,而不是單擊鏈接從列表(在引用頁面上)中打開“詳細信息”頁面的人。
在引薦頁面上,有人單擊詳細記錄並設置了QuestionID
:
<asp:GridView ID="GridView1" runat="server" Caption="Submitted Questions" AllowSorting="True"
CaptionAlign="Left" EmptyDataText="You have not submitted any Questions." PageSize="5"
AutoGenerateColumns="false">
<Columns>
<asp:TemplateField>
<ItemTemplate>
<asp:Label ID="QuestionID" runat="server" Text='<%# Eval("QuestionID") %>' />
</ItemTemplate>
</asp:TemplateField>
<asp:BoundField DataField="KeyObjective" HeaderText="Key Objective" ItemStyle-Width="150" />
<asp:BoundField DataField="SubmitDate" HeaderText="Submitted Date" ItemStyle-Width="50" />
<asp:TemplateField>
<ItemTemplate>
<asp:LinkButton ID="Details" runat="server" Text="View Details" PostBackUrl='<%# "~/Submit/Submit_Detail.aspx?Id=" + Eval("QuestionID") %>'></asp:LinkButton>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<ItemTemplate>
<asp:LinkButton ID="Clone" runat="server" Text="Create Clone" PostBackUrl='<%# "~/Submit/Submit_Clone.aspx?Id=" + Eval("QuestionID") %>'></asp:LinkButton>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
目前已硬編碼為@QuestionID
值為1的DataReader控件,我需要獲取它以接受從引用頁面發送的querystring值:
string sConstr = ConfigurationManager.ConnectionStrings["CS1"].ConnectionString;
SqlConnection Conn = new SqlConnection(sConstr);
using (Conn)
{
SqlCommand command = new SqlCommand("QuestionDetail", Conn);
command.CommandType = CommandType.StoredProcedure;
command.Parameters.Add(new SqlParameter("@QuestionID", SqlDbType.BigInt));
command.Parameters["@QuestionID"].Value = 1;
Conn.Open();
SqlDataReader reader = command.ExecuteReader();
while (reader.Read())
txt_author.Text = reader["Author"].ToString();
reader.Close();
}
假定它與LinkButtons中提供的URL匹配(即querystring參數為“ Id”),那么您應該能夠從Request
對象中讀取它:
command.Parameters["@QuestionID"].Value = Convert.ToInt32(Request["Id"]);
如果您的參數有所不同,則只需相應地進行調整。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.