J'ajoute un jeu de données à un jeu de données comme celui-ci: mais la prochaine fois, lorsque le jeu de données est mis à jour, sera-t-il reflété dans l'ensemble de données? ou nous devons écrire un certain code pour le rendre reflété? P> En outre, je vérifie le jeu de données si le jeu de données existe dans l'ensemble de données utilise déjà: P> if(!ds.Tables.Contains("dtImage"))
ds.Tables.Add(dtImage);
4 Réponses :
Vous devez définir le nom de la table que vous souhaitez que votre Dtimage soit, par exemple,
dtImage.TableName="mydtimage"; if(!ds.Tables.Contains(dtImage.TableName)) ds.Tables.Add(dtImage);
C'était très utile. Merci!
Je suppose que vous n'avez pas défini le nom Si vous ne fournissez pas de nom, Il sera automatiquement créé avec alors la solution serait de fournir le nom code> code>, puis vérifiez-le avec à Clarifiez strong> IT: vous obtiendrez un http://msdn.microsoft.com/en-us/library/as4zy2kc.aspx P> P > Tablename code> du type de données, par exemple via constructeur:
"table1" code>, la table suivante obtiendra
"table2" code> et ainsi de suite. p>
contient (PapeOfble) code>. p>
argumentException code> si ce jeu de données appartient déjà au jeu de données (la même référence). Vous obtiendrez un
duplicatenameeXception code> s'il y a déjà un jeu de données dans le jeu de données avec le même nom (non sensible à la casse). P>
Oh merci, est-ce que c'est pourquoi la première fois, ça ne jette pas une erreur? Donc, la deuxième fois aussi, ça va essayer de créer avec le nom de la table "Table1"?
@Manikandansigamani: Je trahink c'était mal compris, je voulais dire que le nom de table sera créé avec des numéros consécutifs à la fin, donc tabel1, table2, table3, ... code>. Donc, depuis que vous n'avez pas fourni de nom, il sera toujours unique et contient des retours faux. Mais lorsque vous ajoutez la même référence d'un jeu de données, vous aurez l'exception. Si le nom serait le problème, vous n'obtiendriez pas un
argumentException code> (... déjà appartient ...) mais un
DuplicatenameeXception code>.
Wow qui est resté comme un clou dans bois, merci pour l'explication @timschmelter :)
DataSet ds = new DataSet(); DataTable activity = DTsetgvActivity.Copy(); activity.TableName = "activity"; ds.Tables.Add(activity); DataTable Honer = DTsetgvHoner.Copy(); Honer.TableName = "Honer"; ds.Tables.Add(Honer); DataTable Property = DTsetgvProperty.Copy(); Property.TableName = "Property"; ds.Tables.Add(Property); DataTable Income = DTsetgvIncome.Copy(); Income.TableName = "Income"; ds.Tables.Add(Income); DataTable Dependant = DTsetgvDependant.Copy(); Dependant.TableName = "Dependant"; ds.Tables.Add(Dependant); DataTable Insurance = DTsetgvInsurance.Copy(); Insurance.TableName = "Insurance"; ds.Tables.Add(Insurance); DataTable Sacrifice = DTsetgvSacrifice.Copy(); Sacrifice.TableName = "Sacrifice"; ds.Tables.Add(Sacrifice); DataTable Request = DTsetgvRequest.Copy(); Request.TableName = "Request"; ds.Tables.Add(Request); DataTable Branchs = DTsetgvBranchs.Copy(); Branchs.TableName = "Branchs"; ds.Tables.Add(Branchs);
À quoi ressemble votre code pour créer le datatable? Avez-vous nommé It Dtimage -> Dim Dtimage comme DataTable = Nouveau DataTable ("Dtimage")
Parce que vous fournissez une valeur codée en papier à
ds.tables.contains (""); code> méthode .... Vérifiez-le à l'aide de
ds.tables.contains (weavile.tabloname); code>