Comment puis-je copier des lignes spécifiques de DataTable vers une autre Datable en c #? Il y aura plus d'une ligne.
165
foreach (DataRow dr in dataTable1.Rows) {
if (/* some condition */)
dataTable2.Rows.Add(dr.ItemArray);
}
L'exemple ci-dessus suppose que dataTable1
et dataTable2
avoir le même nombre, le même type et l'ordre des colonnes.
ItemArray
partie à la fin de l'expression. Assurez-vous d'ajouter les valeurs de la ligne et non la ligne elle-même.DataTable.Clone
méthode: msdn.microsoft.com/en-us/library/…Copier les lignes spécifiées d'une table vers une autre
la source
Essaye ça
la source
Vérifiez ceci, vous aimerez peut-être (auparavant, veuillez cloner table1 en table2):
Ou:
la source
Pris en charge dans: 4, 3.5 SP1, vous pouvez maintenant simplement appeler une méthode sur l'objet.
la source
À la suite des autres articles, c'est le plus court que je puisse obtenir:
la source
sourceTable
testament, le seradestTable
aussi clair?ci-dessous l'échantillon serait le moyen le plus rapide de copier une ligne. chaque cellule est copiée en fonction du nom de la colonne. au cas où vous n'avez pas besoin d'une cellule spécifique à copier, essayez de rattraper ou d'ajouter si. si vous allez copier plus d'une ligne, bouclez le code ci-dessous.
dataset1.Tables [1] .Rows [ 0 ] [i]; changez l'index 0 en votre index de ligne spécifié ou vous pouvez utiliser une variable si vous allez en boucle ou si cela va être logique
la source
la source
Pour ceux qui veulent une requête SQL à commande unique pour cela:
Cette requête copiera les données de
TABLE001
versTABLE002
et nous supposons que les deux colonnes avaient des noms de colonnes différents.Les noms de colonne sont mappés un à un comme:
COL001_MEM_ID -> COL001_MEM_ID
COL001_MEM_NAME -> COL002_MEM_NAME
COL001_MEM_ADD -> COL002_MEM_ADD
COL001_CREATE_USER_C -> COL002_CREATE_USER_C
COL002_CREATE_S -> COL002_CREATE_S
Vous pouvez également spécifier la clause where, si vous avez besoin d'une condition.
la source
Pour copier tout le datatable, procédez comme suit:
la source
J'ai créé un moyen simple de résoudre ce problème
la source