12
votes

Ajout d'un jeu de données dans un jeu de données

J'ajoute un jeu de données à un jeu de données comme celui-ci: xxx pré>

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);


2 commentaires

À 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 (""); méthode .... Vérifiez-le à l'aide de ds.tables.contains (weavile.tabloname);


4 Réponses :


6
votes

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);


1 commentaires

C'était très utile. Merci!



13
votes

Je suppose que vous n'avez pas défini le nom Tablename du type de données, par exemple via constructeur: xxx

Si vous ne fournissez pas de nom, Il sera automatiquement créé avec "table1" , la table suivante obtiendra "table2" et ainsi de suite.

alors la solution serait de fournir le nom , puis vérifiez-le avec contient (PapeOfble) .

à Clarifiez IT: vous obtiendrez un argumentException si ce jeu de données appartient déjà au jeu de données (la même référence). Vous obtiendrez un duplicatenameeXception 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).

http://msdn.microsoft.com/en-us/library/as4zy2kc.aspx


3 commentaires

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, ... . 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 (... déjà appartient ...) mais un DuplicatenameeXception .


Wow qui est resté comme un clou dans bois, merci pour l'explication @timschmelter :)



5
votes

donnez simplement n'importe quel nom sur le jeu de données comme: xxx


0 commentaires

0
votes
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);

0 commentaires