2016-12-01 89 views
0

我有以下代碼:SQL數據適配器不取數據

string q = "SELECT 1"; 
using (var sqlCommand = new SqlCommand()) 
{ 
    sqlCommand.CommandText = q; 
    sqlCommand.Connection = new SqlConnection(DataAccess.ConnectionString); 

    DataTable dt = new DataTable(); 
    using (SqlConnection connection = new SqlConnection(DataAccess.ConnectionString)) 
    { 
     try 
     { 
      connection.Open(); 
      using (SqlDataAdapter sqlAdapter = new SqlDataAdapter()) 
      { 
       sqlAdapter.SelectCommand = sqlCommand; 
       sqlAdapter.Fill(dt); 
      } 
     } 
     catch (Exception ex) 
     { 
      dt = null; 
     } 
     finally 
     { 
      connection.Close(); 
     } 
    } 
} 

被改變代碼結構,並嘗試調試,但還是沒能得到的數據進行每一次取出。到底dt值始終{}。連接字符串是正確的,因爲已使用備用解決方案SqlDataReader ExecuteReader()嘗試過,數據獲取沒有問題。

+0

試圖字符串'結果= dt.Rows [0 ] [0] .ToString();'它也顯示1。但是在調試過程中,當我將鼠標懸停在'dt'上時,我無法理解它總是顯示'{}' –

+0

@Amigo ..那麼您需要點擊小放大鏡在調試時查看DataTable中的數據。確保你沒有得到你在上面的代碼中吞嚥的異常。 – user3185569

+1

明白了,謝謝大家。 –

回答

0

你的代碼適用於我 - 我得到一個值爲1的DataTable。

添加string result = dt.Rows[0][0].ToString();Fill()

後能得到調試過程的結果,你必須點擊放大鏡圖標Fill()被稱爲後:

enter image description here