Aider moi pour construire un data set ???

bella_mimi Messages postés 4 Date d'inscription vendredi 14 septembre 2007 Statut Membre Dernière intervention 16 décembre 2007 - 11 déc. 2007 à 15:12
cboulas Messages postés 2641 Date d'inscription mercredi 2 juin 2004 Statut Membre Dernière intervention 8 janvier 2014 - 17 déc. 2007 à 14:49
slt, je veut construire un data set avec du code : les data tables les data column et les relation entre les tables mais jusqu'a maintenant  j'ai pas trouvé un code qui construit un data set complet

est ce que quelqu'un pourra m'aider     merci

9 réponses

cboulas Messages postés 2641 Date d'inscription mercredi 2 juin 2004 Statut Membre Dernière intervention 8 janvier 2014 16
11 déc. 2007 à 17:07
Salut, voici un exemple assez rapide :

Dim DS as new dataset("TonDS")
Dim DT as new DataTable("TaTable")

DT.Columns.add("Nom",System.type.getType("System.string"))
DT.Columns.add("Prenom",System.type.getType("System.string"))
DT.Columns.add("Age",System.type.getType("System.Int32"))

DS.Tables.Add(DT)

Dim NR as DataRow = DS.Tables("TaTable").NewRow
NR.Item("Nom")="Bella"
NR.Item("Prenom")="Mimi"
NR.Item("Age")=20


DS.Tables("TaTable").Rows.add(NR)



Chris...


Web :
Firstruner
0
bella_mimi Messages postés 4 Date d'inscription vendredi 14 septembre 2007 Statut Membre Dernière intervention 16 décembre 2007
11 déc. 2007 à 19:50
Merci Chris sur ton aide j'ai essayé ton code et même j'ai pu trouver un code plus détaillé mais malheureusement  ça n'a pas marcher toujours la même erreur <?xml:namespace prefix = v ns = "urn:schemas-microsoft-com:vml" /??><v:shapetype id="_x0000_t75" stroked="f" filled="f" path="m@4@5l@4@11@9@11@9@5xe" o:preferrelative="t" o:spt="75" coordsize="21600,21600"><v:stroke joinstyle="miter"></v:stroke><v:formulas><v:f eqn="if lineDrawn pixelLineWidth 0"></v:f><v:f eqn="sum @0 1 0"></v:f><v:f eqn="sum 0 0 @1"></v:f><v:f eqn="prod @2 1 2"></v:f><v:f eqn="prod @3 21600 pixelWidth"></v:f><v:f eqn="prod @3 21600 pixelHeight"></v:f><v:f eqn="sum @0 0 1"></v:f><v:f eqn="prod @6 1 2"></v:f><v:f eqn="prod @7 21600 pixelWidth"></v:f><v:f eqn="sum @8 21600 0"></v:f><v:f eqn="prod @7 21600 pixelHeight"></v:f><v:f eqn="sum @10 21600 0"></v:f></v:formulas><v:path o:connecttype="rect" gradientshapeok="t" o:extrusionok="f"></v:path><?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /??><o:lock aspectratio="t" v:ext="edit"></o:lock></v:shapetype> 
j’obtiens toujours le même message d’erreur (‘La référence d'objet n'est pas définie à une instance d'un objet.’)


voici le code que j'ai écrit :


Dim ds
As
New DataSet



Dim
dt_client

As



New
DataTable(

""
)




Dim
code_cl

As



New
DataColumn




Dim
nom

As



New
DataColumn




Dim
ville

As



New
DataColumn



code_cl.DataType = System.Type.GetType("System.String")


code_cl.ColumnName = "code_cl"



code_cl.ReadOnly =




True

code_cl.Unique =




True

dt_client.Columns.Add(code_cl)


 


nom.DataType = System.Type.GetType(




"System.String"
)nom.ColumnName =


"nom"

nom.ReadOnly =




False

nom.Unique =




False

dt_client.Columns.Add(nom)


 


 


ville.DataType = System.Type.GetType(




"System.String"
)ville.ColumnName =


" ville"

ville.ReadOnly =




False

ville.Unique =




False

ville.AutoIncrement =




False

ville.Caption =




"vile"

dt_client.Columns.Add(ville)


 







Dim
primarykaycolumns(0)

As
DataColumnprimarykaycolumns(0) = dt_client.Columns(


"code_cl"
)dt_client.PrimaryKey = primarykaycolumns

ds.Tables.Add(dt_client)

Dim NR
As DataRow = ds.Tables(
"dt_client").NewRowNR.Item(

"code_cl") =
"C10"NR.Item(

"Prenom") =
"Mimi"NR.Item(

"ville") =
"hhhhhhh"ds.Tables(

"dt_client").Rows.Add(NR)

en suite j'ai ajouter un boutton qui affiche  la ligne precedement creer dans une data grid :

Dim t(2)
As
String

Dim i
As
Integer

For i = 0
To ds.Tables(
"dt_client").Rows.Count - 1t(0) = ds.Tables(

"dt_client").Rows(i)(0)t(1) = ds.Tables(

"dt_client").Rows(i)(1)t(2) = ds.Tables(

"dt_client").Rows(i)(2)

Me.DataGridView1.Rows.Add(t)

Next
 mais j'ai pas compris ou est l'erreur dans mon code ça fait plus d'un mois que je chercher une réponse 
0
cboulas Messages postés 2641 Date d'inscription mercredi 2 juin 2004 Statut Membre Dernière intervention 8 janvier 2014 16
12 déc. 2007 à 09:25
Salut, dans ton code, as-tu bien ajouter ta colonne à ta table et ta table au dataset ... ??
Sur qu'elle ligne as tu l'erreur, lors de l'erreur le debugage te positionne en Vert (par défault) dessus

Chris...
Web : Firstruner
0
J_il Messages postés 109 Date d'inscription mardi 27 mars 2007 Statut Membre Dernière intervention 9 septembre 2008
12 déc. 2007 à 14:44
Salut,

Je voulais savoir, as-tu bien ajouté tous les composants ou références à ton projet ????

Gilles
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
bella_mimi Messages postés 4 Date d'inscription vendredi 14 septembre 2007 Statut Membre Dernière intervention 16 décembre 2007
13 déc. 2007 à 22:59
salut  ,

oui  j'ai ajouter  chaque data column au data table et ça apparaît clairement dans les lignes de code suivantes:

dt_client.Columns.Add(code_cl)
dt_client.Columns.Add(nom)
dt_client.Columns.Add(ville)

en  suite  j'ajoute le data table au data set :
ds.Tables.Add(dt_client)
lors de l'exécution le déboguage me signa l'erreur sur la ligne suivante:<?xml:namespace prefix o ns "urn:schemas-microsoft-com:office:office" /??>



Dim
NR As DataRow = ds.Tables("dt_client").NewRow

l'erreur est :"La référence d'objet n'est pas définie à une instance d'un objet."






Est ce que dois faire un Fill avant d’appeler le data table
0
cboulas Messages postés 2641 Date d'inscription mercredi 2 juin 2004 Statut Membre Dernière intervention 8 janvier 2014 16
14 déc. 2007 à 19:45
Pardon juste une erreur :(

DimNR As New DataRow = ds.Tables("dt_client").NewRow

Chris...
Web : Firstruner
0
J_il Messages postés 109 Date d'inscription mardi 27 mars 2007 Statut Membre Dernière intervention 9 septembre 2008
15 déc. 2007 à 19:03
Bonsoir, effectivement si tu ne crée pas l'objet, cela ne peut fonctionner !!!!
0
bella_mimi Messages postés 4 Date d'inscription vendredi 14 septembre 2007 Statut Membre Dernière intervention 16 décembre 2007
16 déc. 2007 à 23:16
slt  chris, J_il  ça va  merci pour votre aide  oui  c vrai il faut créer l'objet data row mais malheureusement  la classe Data Row et protected elle ne permet pas d'instancier des objet<?xml:namespace prefix = v ns = "urn:schemas-microsoft-com:vml" /??><v:shapetype id="_x0000_t75" coordsize="21600,21600" o:spt="75" o:preferrelative="t" path="m@4@5l@4@11@9@11@9@5xe" filled="f" stroked="f"><v:stroke joinstyle="miter"></v:stroke><v:formulas><v:f eqn="if lineDrawn pixelLineWidth 0"></v:f><v:f eqn="sum @0 1 0"></v:f><v:f eqn="sum 0 0 @1"></v:f><v:f eqn="prod @2 1 2"></v:f><v:f eqn="prod @3 21600 pixelWidth"></v:f><v:f eqn="prod @3 21600 pixelHeight"></v:f><v:f eqn="sum @0 0 1"></v:f><v:f eqn="prod @6 1 2"></v:f><v:f eqn="prod @7 21600 pixelWidth"></v:f><v:f eqn="sum @8 21600 0"></v:f><v:f eqn="prod @7 21600 pixelHeight"></v:f><v:f eqn="sum @10 21600 0"></v:f></v:formulas><v:path o:extrusionok="f" gradientshapeok="t" o:connecttype="rect"></v:path><?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /??><o:lock v:ext="edit" aspectratio="t"></o:lock></v:shapetype><v:shape id="_x0000_i1025" style="WIDTH: 11.25pt; HEIGHT: 11.25pt" alt="" type="#_x0000_t75"><v:imagedata o:href="http://www.vbfrance.com/imgs2/smile_sad.gif" src="file:///C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\msohtml1\01\clip_image001.gif"></v:imagedata></v:shape>
0
cboulas Messages postés 2641 Date d'inscription mercredi 2 juin 2004 Statut Membre Dernière intervention 8 janvier 2014 16
17 déc. 2007 à 14:49
Coucou, bon j'ai revus et refait un essai qui fonctionne sûr avec le code suivant :

Dim DS
As
New DataSet("Toftof")

Dim DT
As
New DataTable("Rufus")DT.Columns.Add(

New DataColumn("blabla"))DS.Tables.Add(DT)

Dim NR As DataRow DS.Tables("Rufus").NewRowNR.Item("blabla") "Rien"

DS.Tables("Rufus").Rows.Add(NR)

Regarde si tu créer si l'erreur ne viens pas de ton DataSet ou DataTable dans le Debug Mode. ;)

Chris...
Web : Firstruner
0
Rejoignez-nous