2013-03-16 56 views
3

我正在製作alittle程序,用ADO.NET從數據庫中獲取一些數據。事情是,打開連接後,它不會在控制檯中顯示任何東西。如果我在連接之前輸出了一些東西,那麼一切都很好,但只是乾淨的黑色。ADO.NET空數據庫輸出(mysql)

我在做什麼是讀表和輸出查詢輸出。沒什麼大,但似乎無法找到我丟失的物品..

非常感謝

答:我離開控制檯開了一段時間,我有一個連接超時。 C#仍忙於處理conn.Open(),直到踢出來的時間。

public void ReadVoorraad() { 

     SqlConnection conn = new SqlConnection("Data Source=(local);Initial Catalog=postorder2;User ID=root;Password=****"); 
     SqlDataReader rdr = null; 

     try { 

      conn.Open(); 
      SqlCommand cmd = new SqlCommand("SELECT * from voorraad", conn); 

      rdr = cmd.ExecuteReader(); 

      while (rdr.Read()) { 
       Console.WriteLine(rdr[0]); 
      } 
      Console.WriteLine("------ End of stream -------"); 
     } finally { 
      if (rdr != null) { rdr.Close(); } 
      if (conn != null) { conn.Close(); } 
     } 

    } 

} 
+1

您是使用mySql還是MS SQL服務器? – Thousand 2013-03-16 21:35:17

回答

0

我的猜測是,有一些例外。嘗試將此添加到您的代碼中以獲取更多診斷信息,方法如下:

SqlConnection conn = null; 
SqlDataReader rdr = null; 

try { 
    conn = new SqlConnection(...); 

    ... 
} catch (Exception e) { 
    Console.WriteLine("Error: " + e.Message); 
    throw; 
} finally { 
    if (rdr != null) { rdr.Close(); } 
    if (conn != null) { conn.Close(); } 
} 
+0

抱歉,我沒有提供足夠的信息。當我嘗試像你在這個答案中提供的catch方法。我沒有得到任何輸出。即使有用戶定義的writeline ..只是一個乾淨的空控制檯窗口。因爲當我做conn.Open()時它不再顯示任何東西。 – 2013-03-16 21:38:10

+0

@JesseStruyvelt我懷疑這會成爲你錯誤的根源,但也許你應該在'try'塊中創建'SqlConnection' - 看我的更新。 – 2013-03-16 21:41:33

+0

試圖在try塊中創建新連接。徒勞無功。同樣的問題。在此先感謝 – 2013-03-16 21:44:35