簡體   English   中英

C# 下拉列表選擇的值未設置為 SQL select 語句存儲過程

[英]C# drop down list selected value not being set to SQL select statement stored procedure

我有一個 collegeID 值的數據綁定下拉列表,我想要 select 這些值之一基於 SQL 數據庫中的 collegeID。 我有一個 ID 為 select 的存儲過程,但在頁面運行時未選擇該值。

我的SQL存儲過程如下:

USE [CONNECTION]
GO
/****** Object:  StoredProcedure [db_owner].[CollegePersonSelectAll]    Script Date: 5/9/2022 10:50:18 PM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- =============================================
-- Author:      Alexander Johnson
-- Create date: 5/9/2022
-- Description: CollegePersonSelectAll
-- =============================================
ALTER PROCEDURE [db_owner].[CollegePersonSelectAll]
    -- Add the parameters for the stored procedure here
    @personID int,
    @collegeID int
AS
BEGIN
    -- SET NOCOUNT ON added to prevent extra result sets from
    -- interfering with SELECT statements.
    SET NOCOUNT ON;

    -- Insert statements for procedure here
SELECT        collegeID
FROM            CollegePerson
WHERE           personID = @personID
END

C#中的代碼如下:

    protected void Page_Load(object sender, EventArgs e)
    {
        personID = RetrieveID();
        if (!Page.IsPostBack)
        {
            string dbConn = System.Configuration.ConfigurationManager.ConnectionStrings["CONNECTIONSTRING"].ConnectionString;
            SqlConnection conn = new SqlConnection(dbConn);
            using (SqlCommand cmd = new SqlCommand("[CollegePersonSelectAll]", conn))
            {
                cmd.CommandType = CommandType.StoredProcedure;
                cmd.Parameters.AddWithValue("@personID", personID);
                try
                {
                    conn.Open();
                    _updateCollege.SelectedValue = Convert.ToString(cmd.ExecuteScalar());
                    collegeID = Convert.ToString(cmd.ExecuteScalar());
                }
                catch (SqlException ex)
                {
                    this._message.Text = "Error from SQL " + ex.Message;
                }
            }
        }
    }

下拉列表的HTML如下:

        <asp:DropDownList ID="_college" runat="server" DataSourceID="sqlDataCollege" DataTextField="collegeName" DataValueField="collegeID" Width="157px" AppendDataBoundItems="True">
            <asp:ListItem Value="0" SelectedValue='%#bind("stateAbbrev")%>'>-Please Select-</asp:ListItem>
        </asp:DropDownList>

_updateCollege.SelectedValue不顯示數據庫中的值。 有人知道為什么嗎?

從輸入參數中刪除@collegeID並使用ExecuteScalar而不是ExecuteNonQuery

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM