2017-03-16 21 views
0

我需要從ODBC數據適配器填充DataTable。我可以看到dataTable仍然是空的,但DataSet(ds)成功地填充了數據。DataTable和ODBC適配器

OdbcConnection cnn; 
       cnn = new OdbcConnection(azureConnection); 
       using (OdbcCommand command = cnn.CreateCommand()) 
       { 
        command.CommandText = "{call sp_Get_Excel_Data(?,?,?,?,?,?,?,?)}"; 
        command.Parameters.AddWithValue("@StartDate", startDate); 
        command.Parameters.AddWithValue("@EndDate", endDate); 
        command.Parameters.AddWithValue("@startTime", startTime); 
        command.Parameters.AddWithValue("@endTime", endTime); 
        command.Parameters.AddWithValue("@rptSymbol", tickerSymbol); 
        command.Parameters.AddWithValue("@reg", RegId); 
        command.Parameters.AddWithValue("@events", events); 
        command.Parameters.AddWithValue("@userId", userId); 

        DataTable dataTable = new DataTable(); 

        cnn.Open(); 

        //DataTable 
        OdbcDataAdapter adapter = new OdbcDataAdapter(command); 
        adapter.Fill(dataTable); 

        //DataSet 
        DataSet ds = new DataSet(); 
        adapter.Fill(ds); 

        string[] colNames = new string[dataTable.Columns.Count]; 
        int col = 0; 

        foreach (DataColumn dc in dataTable.Columns) 
         colNames[col++] = dc.ColumnName; 
       } 

你能提出爲什麼我不能在DataTable中看到數據以及如何使其工作?

+0

好的,我通過轉換成數據表解決了這個問題: 數據表的dataTable = ds.Tables [0]; –

回答

0

好的,我解決該問題通過轉換成數據表:

DataTable dataTable = ds.Tables[0];