2011-10-18 15 views
5
string query = "select * from cfo_daily_trans_hist"; 
      try 
      { 
       using (SqlConnection connection = new SqlConnection(
         cnnString)) 
       { 
        SqlCommand command = new SqlCommand(query); 
        command.Connection = connection; 
        connection.Open(); 

        var result = command.ExecuteReader(); 
        DataTable datatable = new DataTable(); 
        datatable.Load(result); 
        connection.Close(); 
       } 
      } 

Così il var result viene creato attraverso il ExecuteReader(); e HasRows è true, e si vede la giusta quantità di campi. Tuttavia, lo DataTable da me creato è vuoto.problemi a caricare i dati SQL Data lettore in DataTable

Cosa sto sbagliando? Sono sicuro al 99% che stia ottenendo dati, ma non so come trovarlo tramite l'oggetto SqlDataReader per essere sicuro.

Grazie.

risposta

6

Invece di SqlDataReader, utilizzare SqlDataAdapter.

SqlDataAdapter myAdapter = new SqlDataAdapter(command); 
myAdapter.Fill(datatable); 

Con un SqlDataAdapter, non è necessario chiamare in modo esplicito SqlConnection.Open() e SqlConnection.Close(). Viene gestito nel metodo Fill().

Problemi correlati