Comment ajouter une colonne d'identité à la datable en utilisant C#. Im en utilisant le serveur compact Sql.Comment ajouter une colonne d'identité à la datatable en utilisant C#
Répondre
Vous pourriez essayer quelque chose comme ça peut-être?
private void AddAutoIncrementColumn()
{
DataColumn column = new DataColumn();
column.DataType = System.Type.GetType("System.Int32");
column.AutoIncrement = true;
column.AutoIncrementSeed = 1000;
column.AutoIncrementStep = 10;
// Add the column to a new DataTable.
DataTable table = new DataTable("table");
table.Columns.Add(column);
}
Vous ne faites pas autoincrement sur DataTable (ou front-end pour cette matière), sauf si vous voulez faire votre demande une application unique utilisateur uniquement.
Si vous avez besoin de l'autoincrément, faites-le simplement dans la base de données, puis récupérez l'ID auto-incrémenté produit depuis la base de données vers votre frontal.
Voir ma réponse ici, il suffit de changer le SqliteDataAdapter à SqlDataAdapter, SqliteConnection à SqlConnection, etc: anyway see why I get this "Concurrency Violation" in these few lines of code??? Concurrency violation: the UpdateCommand affected 0 of the expected 1 records
Je suis en train de lire des données à partir d'un fichier plat et j'ai besoin d'ajouter un numéro de ligne au DataTable - il y a des moments où cela est valide, et non cela ne fera pas de mon application un utilisateur unique. – MrTelly
Oui, ou pour la sortie ..... Je génère une sortie qui est composée de plusieurs lectures indépendantes, qui doivent se terminer dans une seule séquence. C'est une utilisation locale très importante du DataTable ...... isolation similaire à "single-user", mais pas du tout la même chose. –
Juste mes deux cents. Auto-incrément est utile dans une application Winform
(stand alone comme Michael Buen a dit à juste titre), à savoir:
DatagridView
est utilisé pour afficher les données qui ne sont pas un « champ de clé », la même chose peut être utilisé pour énumération.
Je ne pense pas une bonne idée d'utiliser autoincrement sur datatable si vous utilisez insérer et supprimer un datatable parce que le nombre ne sera pas rearranget, pas finale, je vais partager une petite idée de comment peut-on utiliser manuel d'auto-incrémentation .
DataTable dt = new DataTable();
dt.Columns.Add("ID",typeof(int));
dt.Columns.Add("Produto Nome", typeof(string));
dt.Rows.Add(null, "A");
dt.Rows.Add(null, "B");
dt.Rows.Add(null, "C");
for(int i=0;i < dt.Rows.Count;i++)
{
dt.Rows[i]["ID"] = i + 1;
}
toujours lors de la finalisation de l'insert ou supprimer doit exécuter cette boucle
for(int i=0;i < dt.Rows.Count;i++)
{
dt.Rows[i]["ID"] = i + 1;
}
C'est vraiment déroutant. Et changer 'DataTable' ne change pas la DB, et je crois que c'est la partie essentielle de la question OPs. – andr
DataTable table = new DataTable("table");
DataColumn dc= table.Columns.Add("id", typeof(int));
dc.AutoIncrement=true;
dc.AutoIncrementSeed = 1;
dc.AutoIncrementStep = 1;
// Add the new column name in DataTable
table.Columns.Add("name",typeof(string));
table.Rows.Add(null, "A");
table.Rows.Add(null, "B");
table.Rows.Add(null, "C");
Si le DataTable est déjà peuplée. vous pouvez utiliser la méthode ci-dessous
void AddAndPopulateDataTableRowID(DataTable dt, string col, bool isGUID)
{
if(isGUID)
dt.Columns.Add(col, typeof(System.Guid));
else
dt.Columns.Add(col, typeof(System.Int32));
int rowid = 1;
foreach (DataRow dr in dt.Rows)
{
if (isGUID)
dr[col] = Guid.NewGuid();
else
dr[col] = rowid++;
}
}
- 1. Comment supprimer la colonne DataTable C#
- 2. C# Valeur de liaison de la colonne datagridview à DataTable
- 3. C# DataTable: Ajouter une nouvelle ligne lance erreur en utilisant le terrain AutoInc
- 4. Comment exposer une colonne dans DataTable
- 5. Lier la section Config à DataTable en utilisant C#
- 6. DataTable C# Type de colonne vide
- 7. Valider chaque colonne de dataTable utilisant Hashtable
- 8. Construire un DataTable en C# avec une colonne à la fois
- 9. JSF Comment dynamique ajouter une nouvelle ligne à datatable
- 10. DataTable à la liste générique en C#
- 11. Comment définir une datatable à un C#?
- 12. comment ajouter la colonne checkbox à la grille Extjs
- 13. comment extraire une valeur dans la colonne datatable
- 14. comment formater le datatable en C#
- 15. Sérialisation d'un DataTable avec une colonne IPAddress
- 16. Comment ajouter des lignes gridview à une datatable?
- 17. Comment créer une datatable en utilisant C# à partir de SQL?
- 18. Richfaces Datatable - Trier une colonne spécifique en charge
- 19. MySQL erreur de syntaxe en utilisant Python pour ajouter la colonne à une table
- 20. ne veut pas ajouter le nom de colonne dans datatable
- 21. Convertir un tableau d'octets dans une colonne datatable en chaîne?
- 22. C# Ajout d'un Datatable à un Datatable
- 23. Comment ajouter un en-tête de colonne à un ListView en C#
- 24. Comment faire des totaux des cellules datatable et construire une nouvelle colonne dans cette datatable?
- 25. ajouter une colonne particulière d'un fichier csv à un autre en utilisant python
- 26. Ajouter une colonne et mettre à jour un DataTable avec des données de recherche
- 27. Ajouter des éléments à la forme modifiable en utilisant h: dataTable sans soumettre toutes les lignes
- 28. comment puis-je ajouter une colonne non-DataTable personnalisée à mon DataView, dans une application Winforms ADO.net?
- 29. Comment définir une colonne DataTable VB.NET comme clé primaire après la création
- 30. Colonne Non à Colonne Lettre dans Excel/VSTO utilisant C#
Conjugué à un DataTable existant avec les données qu'il contient, ce sera remplir automatiquement la nouvelle colonne dans les lignes existantes? – Lunyx