簡體   English   中英

從數據庫檢索數據-如何?

[英]Retrieve data from database - how?

在數據庫表中,我有兩列: pagenamepageinfo 我希望在傳遞pagename時檢索數據。 我使用了今天從Stackoverflow獲得的代碼,但是代碼中的某些問題引發了錯誤:

System.Data.dll中發生類型'System.InvalidOperationException'的異常,但未在用戶代碼中處理。其他信息:在不存在數據的情況下,嘗試讀取無效。)

這是代碼:

public string GetPageInfo(string filenames)
{
    SqlConnection con = new SqlConnection("Data Source=.;Initial Catalog=.;Integrated Security=True");

    con.Open();

    SqlCommand command = new SqlCommand("Select pageinfo from T_Pages where pagename=@filenames", con);

    command.Parameters.AddWithValue("@filenames", filenames);

    // int result = command.ExecuteNonQuery();
    using (SqlDataReader reader = command.ExecuteReader())
    {
        return reader["pageinfo"].ToString(); ;
    }

    // return string GetPageInfo;
}

這是因為:

return reader["pageinfo"].ToString();

如果讀取器[“pageinfo”]為空,則的ToString()將拋出異常。

替換上面的行:

if(reader["pageinfo"] != null)
{
   return reader["pageinfo"].ToString();
}
else
{
   return "";
}

或使用空條件運算符

return reader["pageinfo"]?.ToString();

編輯

您還需要在返回之前添加Read()

reader.Read();
return reader["pageinfo"]?.ToString();

暫無
暫無

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

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