2013-01-22 52 views
-1

我找不到這種奇怪行爲的正確溶劑。 在另一個項目中,它的作用就像一個魅力。 它當我解決sqlconnection和使用System.Data.SqlClient它使這個紅色下劃線執行下....爲什麼它的行爲是這樣的?爲什麼executereader的行爲如此?

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Web; 
using System.Web.UI; 
using System.Web.UI.WebControls; 
using System.Web.Configuration; 
using System.Data.SqlClient; 


public partial class Default3 : System.Web.UI.Page 
{ 
    protected void Page_Load(object sender, EventArgs e) 
    { 

     //********************************* 
     //Definerer connection stringen * 
     //********************************* 
     SqlConnection BilleddataBasen = new SqlConnection(WebConfigurationManager.ConnectionStrings["Boligforeningen_AB8"].ConnectionString); 

     //************************************** 
     //Definerer de forskellige variabler * 
     //************************************** 
     string ImageFilePath = ""; 
     string ImageName = ""; 
     string OverfoereDataTilImageControlPaaAspxSiden = ""; 

     //************************************************** 
     //Definerer hvordan der skal læses fra databasen * 
     //************************************************** 
     SqlCommand SelectBlogIndlæg = new SqlCommand("SELECT FileName, FilePath, OprettelsesDato, Tittel, BilledetsIndhold FROM BillederTilGalleri", BilleddataBasen); 

     BilleddataBasen.Open(); 
     SqlDataReader reader = BilleddataBasen.ExecuteReader(); 
     while (reader.Read()) 
     { 
      ImageName += reader["FileName"]; 
      ImageFilePath += reader["FilePath"]; 
      lbl_OprettelsesDato.Text += reader["OprettelsesDato"]; 
      lbl_BilledNavnet.Text += reader["Tittel"]; 
      lbl_BeskrivelseAfBilledet.Text += reader["BilledetsIndhold"]; 
     } 

     OverfoereDataTilImageControlPaaAspxSiden = ImageFilePath + ImageName; 
     lbl_BilledFraDataBasen.ImageUrl = OverfoereDataTilImageControlPaaAspxSiden; 

     //************************************************ 
     //Følgende to linier bestemmer pixel størrelse * 
     //************************************************ 

     lbl_BilledFraDataBasen.Width = 300; 
     lbl_BilledFraDataBasen.Height = 250; 

     //************************************* 
     //Lukker ned for database tilgangen * 
     //************************************* 
     reader.Close(); 
     BilleddataBasen.Close(); 
    } 
} 
+0

請更改您的問題。現在,我不知道你在問什麼。 –

+0

那麼紅色'下劃線'位是否顯示錯誤?編譯時會出錯嗎? – Arran

+0

呃...它告訴我,我錯過了一個assambly參考。然而,右鍵點擊它並不能給我一個「解決方案」選項。 – Anders

回答

3

SqlConnection沒有一個ExecuteReader方法。 SqlCommand呢。你應該叫:

SqlDataReader reader = SelectBlogIndlæg.ExecuteReader(); 

注意,當你建立,編譯器錯誤信息應與你需要診斷這個自己的所有信息,只要你 - 至少是第一部分。值得回顧一下,弄清楚如何爲自己解決這個問題(因此你如何解決下一個問題)。

隨着旁白:

  • 你應該使用所有資源(連接,命令,讀卡器)列表項
  • 在循環連接字符串通常是一個壞主意using陳述(在這種情況下它看起來並不像你已經有了一個分隔符,這樣你的價值都將被塗抹在一起)
  • 常規變量使用駝峯而不是PascalCase

另外,你說:

在另一個項目中,這就像一個魅力。

根本不是這樣。您提供的代碼而不是可以在任何項目中工作。

+0

我沒注意到!尼斯接機!也許這是非英語命名慣例.. –

+0

不...抱歉。設置變量時。並改變selectblogindlægtobilleddatabasen,它仍然給我一個錯誤。 – Anders

+3

這不是*近*足夠的信息。 「一個錯誤」可能是任何事情。此外,您應該*嘗試*爲自己解決這個問題 - 我們不會爲每一個錯誤提供解決方案。 –

0

你在你的SqlConnection對象上調用ExecuteReader,你應該在你的Command對象上調用它。

SqlDataReader reader = SelectBlogIndlæg.ExecuteReader(); 
相關問題