簡體   English   中英

數據集結果在 C# 中始終為空

[英]The DataSet result is always empty in C#

我正在使用 DataSet 檢索特定的列值。

這是我的代碼:

public DataSet GetRedirectURL(string emailId)
{
    DataSet ds = new DataSet();
    using (SqlConnection con = new SqlConnection(@"Connection_String_Here"))
    {
        con.Open();
        SqlCommand sqlComm = new SqlCommand("usp_Login", con)
        {
            CommandType = CommandType.StoredProcedure
        };
        sqlComm.Parameters.AddWithValue("@EmailId", emailId);

        SqlDataAdapter da = new SqlDataAdapter
        {
            SelectCommand = sqlComm
        };

        da.Fill(ds);
    }
    return ds;
}

我也使用了 DataTable 而不是它,但結果相同。 我檢查了我的存儲過程,當我傳遞參數時它顯示數據。 所以,SP沒有錯。 但表格不顯示任何數據,並且始終為空,如下所示:

在此處輸入圖像描述

我錯過了什么? 任何幫助,將不勝感激。

我建議您首先評估DataSet的內容。 例如,輸入您的即時 Window(或添加快速手表)以檢查ds.Tables[0].Rows.Count 基本上,要斷言您的DataSet已經正確填充了從數據庫中獲取的內容,並專注於從DataSet到您用來顯示它的網格 object 的數據分配。

此外, .Fill()方法返回 object,它是一個 int,表示已成功填充到目標 object 中的行數。 例如:

int result = da.Fill(ds);

執行.Fill()方法后檢查result的值。

最后,我猜您正在使用DataGridView object 來可視化結果。 如果是這樣,您如何綁定數據? 應該是這樣的:

dataGridView1.DataSource = ds.Tables[0];

PS:正如我在其他評論中所讀到的,不,您不需要在連接上執行.Open()方法。 這不是必需的,它是在使用時隱式完成的(使用 SqlConnection conn = SqlConnection..)

暫無
暫無

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

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