2017-07-04 12 views
0

私は以前このコードのエラーに基づいて質問しました。しかし、示唆された後、それ以上のエラーはありません。ただし、キュー表の行のデータは、missedQueue表に移動しません。あるデータテーブルから別のデータテーブルに行を移動することができない

私はそれが:(

を動作しません、なぜこれが私のコードではよく分からない:

 DataSet queue = DBMgr.GetDataSet("SELECT * FROM queue"); 
     DataTable missedQueue = queue.Tables[0].Clone(); 

     DataRow dr = queue.Tables[0].NewRow(); 
     for (int i = 0; i < queue.Tables[0].Columns.Count; i++) 
     { 
      dr[queue.Tables[0].Columns[i].ColumnName] = queue.Tables[0].Rows[0][i]; 
     } 

     missedQueue.Rows.Add(dr.ItemArray); 

    } 
+1

データテーブルの内容を別のものにコピーしようとしているようですが、その場合は 'DataTable missedQueue = queue.Copy()'が必要です。[DataTable.Copyメソッド()](https: //msdn.microsoft.com/en-u s/library/system.data.datatable.copy(v = vs.110).aspx)。 – Prabhat

+0

@SuprabhatBiswal 'queue.Copy()'にエラーがあります。 – user8090359

+0

可能であれば、エラーの説明を共有してください。 – Prabhat

答えて

0

あなたのDataRowがmissedQueueテーブルであることと

のようなループ内の行を追加する必要があります
DataRow dr = null; 
    for (int i = 0; i < queue.Tables[0].Columns.Count; i++) 
    { 
     dr = missedQueue.NewRow(); 
     dr[queue.Tables[0].Columns[i].ColumnName] = queue.Tables[0].Rows[0][i]; 
     missedQueue.Rows.Add(dr); 
    } 
+0

それはまだmissedQueueテーブルに転送されませんでした:( – user8090359

+0

OPループは列であり、行ではありません – user6144226

関連する問題