BTS IG
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.

BTS IG

Le forum des Bts IG
 
AccueilRechercherDernières imagesS'enregistrerConnexion
Le Deal du moment : -39%
Ordinateur portable ASUS Chromebook Vibe CX34 Flip
Voir le deal
399 €

 

 DataTableAdapter

Aller en bas 
5 participants
AuteurMessage
Sakééé
Hyper_Noob
Hyper_Noob
Sakééé


Messages : 88
Date d'inscription : 01/10/2007

DataTableAdapter Empty
MessageSujet: DataTableAdapter   DataTableAdapter Icon_minitimeMar 3 Fév - 17:10

Est ce que quelqu'un s'y connait en DataTableAdapter ( et pas dataAdapter hein ?), qu'il se dénonce, ou au moins me dire a quel moment je pourrait apercevoir logiou (ap IG1 ?)
Revenir en haut Aller en bas
MakBzh
Maitre des Geeks
Maitre des Geeks
MakBzh


Messages : 320
Date d'inscription : 27/09/2007
Age : 35
Localisation : Château de Kaamelott

DataTableAdapter Empty
MessageSujet: Re: DataTableAdapter   DataTableAdapter Icon_minitimeMar 3 Fév - 22:20

ouaip ...
j'suis en plein dedans Smile
énonce moi ton problème jeune
Revenir en haut Aller en bas
HiNaC
[V.I.P] Geek
[V.I.P] Geek
HiNaC


Messages : 113
Date d'inscription : 30/06/2008
Age : 38
Localisation : Saint-Brieuc

DataTableAdapter Empty
MessageSujet: Re: DataTableAdapter   DataTableAdapter Icon_minitimeMar 3 Fév - 23:18

Demain (Mercredi) matin de 9h00 à 12h00 on a Logiou en salle C105 Wink
Revenir en haut Aller en bas
Sakééé
Hyper_Noob
Hyper_Noob
Sakééé


Messages : 88
Date d'inscription : 01/10/2007

DataTableAdapter Empty
MessageSujet: Re: DataTableAdapter   DataTableAdapter Icon_minitimeMer 4 Fév - 9:02

je pourrai pas j'ai une reunion le matin annoncé en derniere minute... merci hinac !

Mark, en fait je cherchai comment faire un datatableadapter en piochant une donné d'une autre table, mais faut faire un inner join... mais voila le nouveau truc !

avec une requête test :

SELECT tarif . *
FROM tarif
WHERE numfourn = 4
and datedebut = (
SELECT max( datedebut )
FROM tarif )

J'ai un résultat nickel sous phpMyAdmin
et une erreur (la même date ne peut pas apparaitre plusieurs fois ) sous le logiciel quand la requête passe par le dataTableAdapter de la table Tarif...incompréhensible !

allez je go au taff
Revenir en haut Aller en bas
Sakééé
Hyper_Noob
Hyper_Noob
Sakééé


Messages : 88
Date d'inscription : 01/10/2007

DataTableAdapter Empty
MessageSujet: Re: DataTableAdapter   DataTableAdapter Icon_minitimeMer 4 Fév - 9:33

maintenant que je suis au taff je complete :
les tables:

tarif: numFourn, numEssence, datedebut, montanttarif

histtarif : datedebut

essence : numessence, libelleessence

fournisseur : numfourn, nomfourn, ....

voilou bonne journée a tous !
Revenir en haut Aller en bas
Sakééé
Hyper_Noob
Hyper_Noob
Sakééé


Messages : 88
Date d'inscription : 01/10/2007

DataTableAdapter Empty
MessageSujet: Re: DataTableAdapter   DataTableAdapter Icon_minitimeMer 4 Fév - 9:39

go pour le monologue !

la nuit porte conseil, apres 1 jour passé dessus , je trouve en 2 minutes...

La solution pour les crassous qui auront le problème :
dans le fichier .xsd correspondant à votre dataset
mettre enforceConstraints sur false...et voilà le travail !
Revenir en haut Aller en bas
MakBzh
Maitre des Geeks
Maitre des Geeks
MakBzh


Messages : 320
Date d'inscription : 27/09/2007
Age : 35
Localisation : Château de Kaamelott

DataTableAdapter Empty
MessageSujet: Re: DataTableAdapter   DataTableAdapter Icon_minitimeMer 4 Fév - 11:35

'lu c'est ce que j'allais te dire de tester :p j'ai eu le même problème.
J'avait cette erreur quand je fesait monTableAdapter.Fill(...)

il kiffait pas mon .fill ( remplissage du DataSet ) donc voilà Wink

ps : si t'as d'autres soucis j'suis en plein dans DataSet, DataTableAdapter, DataBinding et cie ...

GL
Revenir en haut Aller en bas
Sakééé
Hyper_Noob
Hyper_Noob
Sakééé


Messages : 88
Date d'inscription : 01/10/2007

DataTableAdapter Empty
MessageSujet: Re: DataTableAdapter   DataTableAdapter Icon_minitimeMer 4 Fév - 15:24

.fill rempli le dataTableAdapter a partir du dataset...te mélange pas. Sinon pour le reste ca va aller je deviens blindé (ou bindé)
Revenir en haut Aller en bas
MakBzh
Maitre des Geeks
Maitre des Geeks
MakBzh


Messages : 320
Date d'inscription : 27/09/2007
Age : 35
Localisation : Château de Kaamelott

DataTableAdapter Empty
MessageSujet: Re: DataTableAdapter   DataTableAdapter Icon_minitimeMer 4 Fév - 15:34

oups ouais autant pour moi...

Le binding c'est puissant mais galère
Revenir en haut Aller en bas
Sakééé
Hyper_Noob
Hyper_Noob
Sakééé


Messages : 88
Date d'inscription : 01/10/2007

DataTableAdapter Empty
MessageSujet: Re: DataTableAdapter   DataTableAdapter Icon_minitimeJeu 5 Fév - 11:44

c'est génial je trouve
exemple de requête que j'ai du faire pour remplir un dataTableAdapter, pour ceux qui ne connaissent pas

SELECT tarif.MontantTarif, essence.LibelleEssence
FROM tarif INNER JOIN
(SELECT MAX(DateDebut) AS maxdate
FROM tarif tarif_1
GROUP BY NumEssence) tarif2 ON tarif.DateDebut = tarif2.maxdate INNER JOIN
essence ON tarif.NumEssence = essence.NumEssence INNER JOIN
fournisseur ON tarif.NumFourn = fournisseur.NumFourn
WHERE (fournisseur.NomFourn= @FournValue)
GROUP BY essence.LibelleEssence
HAVING (fournisseur.NomFourn = @FournValue)
ORDER BY tarif.NumEssence

c'est pratique les databind mais les jointures doivent se faire en inner
Revenir en haut Aller en bas
Goret
Admin
Admin
Goret


Messages : 224
Date d'inscription : 26/09/2007
Age : 36
Localisation : Rennes

DataTableAdapter Empty
MessageSujet: Re: DataTableAdapter   DataTableAdapter Icon_minitimeJeu 5 Fév - 11:56

Sympa t'a requette =)
Revenir en haut Aller en bas
https://rabelais-bts-ig.keuf.net
Sakééé
Hyper_Noob
Hyper_Noob
Sakééé


Messages : 88
Date d'inscription : 01/10/2007

DataTableAdapter Empty
MessageSujet: Re: DataTableAdapter   DataTableAdapter Icon_minitimeJeu 5 Fév - 13:51

^^
Mark, une solution ?
pour ramener une requête de base du style

SELECT NumFourn
FROM Fournisseur
WHERE NomFourn = @FournValue

FournValue est une variable de combobox.Nomfournisseur.text

tout con hein ?
bah en fait avec scalarquery : rapporte une seule valeur mais supporte pas de pas avoir d'agregat

GetData : supporte la requête mais même elle ne ramene qu'une seule valeur il considere qu'elle peu en rapporter plusieur donc pas bon...

alors comment faire mon
CodeFourn = Me.fournFournisseurTableAdapter.???(FournValue)


EDIT: decidement

un truc tout moche

codeFourn = FournisseurTableAdapter.ScalarQuery(FournValue).Value

SELECT MAX(NumFourn)
FROM Fournisseur
WHERE NomFourn = @FournValue
Revenir en haut Aller en bas
MakBzh
Maitre des Geeks
Maitre des Geeks
MakBzh


Messages : 320
Date d'inscription : 27/09/2007
Age : 35
Localisation : Château de Kaamelott

DataTableAdapter Empty
MessageSujet: Re: DataTableAdapter   DataTableAdapter Icon_minitimeJeu 5 Fév - 16:14

Bon question ami étalon ...

Moi je fais que de la lecture avec mon TableAdapter, car c'est la base commerciale donc je dois JUSTE récup' des infos pas d'écriture dessus.

tu peux créer tes requêtes dans ton DataSet.xsd et faire un appel de méthode après Wink
quand tu les créés, il faut décocher Fill pour avoir juste une méthode Get.

Test en créant ta méthode dans le DataSet ça roxx pas mal

du coup tu pourras faire :
codeFourn = CodeFourn = Me.fournFournisseurTableAdapter.TonNomDeMethodeGet(FournValue)

j'viens d'y penser ... désolé j'suis comme boucard j'écrit comme je parle ... " Euhhh jle sens pas ton truc ..." ^^

Perso j'ai utilisé depuis une méthode différente : (pour récupérer les valeurs )
TextBox_Creer_Nom.Text = DataSetEBP.Tables("CLIENT").Rows(unNumeroLigne).Item("sCliRaisonSoc")

En gros je créé une DataView que je Fill avec avec la méthode .Tables("NOM DE LA TABLE")

la particularité du DataView c'est qu'on peut faire dataview.find("STRING A RECHERCHER") et de fait ressortir son numéro de ligne :-)

et ainsi faire :
TextBox_Creer_Nom.Text = DataSetEBP.Tables("CLIENT").Rows(unNumeroLigne).Item("sCliRaisonSoc")


''Création d'un DataView
Dim monDataView As New DataView
''Ajout de la table Client dans le DataView
monDataView.Table = DataSetEBP.Tables("CLIENT")
monDataView.Sort = "sCliCode"
''On recherche le CodeClient saisi
Dim unNumeroLigne As Integer = monDataView.Find(TextBox_Creer_Code_Client.Text)
''Si non trouvé alors
If unNumeroLigne < 0 Then
MessageBox.Show("Code Client non trouvé !", Text, MessageBoxButtons.OK, MessageBoxIcon.Information)
Else
''CIVILITE
TextBox_Creer_Civilite.Text = DataSetEBP.Tables("CLIENT").Rows(unNumeroLigne).Item("sCliCivilite")
''NOM
TextBox_Creer_Nom.Text = DataSetEBP.Tables("CLIENT").Rows(unNumeroLigne).Item("sCliRaisonSoc")
end If

Voila Smile c'est une alternative mais ça fonctionne bien
Revenir en haut Aller en bas
Sakééé
Hyper_Noob
Hyper_Noob
Sakééé


Messages : 88
Date d'inscription : 01/10/2007

DataTableAdapter Empty
MessageSujet: Re: DataTableAdapter   DataTableAdapter Icon_minitimeJeu 5 Fév - 22:20

en fait je sais pas si tu me demane quelquechose ou si tu m'explique lol

en tout cas tout roule maintenant pour moi ! je relirai tt ca demain matin pour la curiosité, en attendant a tt a l'heure au kenny !
Revenir en haut Aller en bas
MakBzh
Maitre des Geeks
Maitre des Geeks
MakBzh


Messages : 320
Date d'inscription : 27/09/2007
Age : 35
Localisation : Château de Kaamelott

DataTableAdapter Empty
MessageSujet: Re: DataTableAdapter   DataTableAdapter Icon_minitimeVen 6 Fév - 12:42

non non j't'expliquait une solution alternative à ton problème.

^^
Revenir en haut Aller en bas
Sakééé
Hyper_Noob
Hyper_Noob
Sakééé


Messages : 88
Date d'inscription : 01/10/2007

DataTableAdapter Empty
MessageSujet: Re: DataTableAdapter   DataTableAdapter Icon_minitimeVen 6 Fév - 13:36

ca y est j'ai compris ce que t'a mis, mais en fait si tu regarde bien mon post je l'avais déjà fait. J'ai trouvé tout con en fait :
je choisi mon nom de fournisseur dans un combobox donc...
codeFourn = comboboxNomFourn.selectedValue

sachant que comboboxNomFourn.displaymember = "NomFourn"
et comboboxNomFourn.valuemember = "NumFourn"
Revenir en haut Aller en bas
MakBzh
Maitre des Geeks
Maitre des Geeks
MakBzh


Messages : 320
Date d'inscription : 27/09/2007
Age : 35
Localisation : Château de Kaamelott

DataTableAdapter Empty
MessageSujet: Re: DataTableAdapter   DataTableAdapter Icon_minitimeVen 6 Fév - 13:53

pas con Smile

à tout hazard :

j'ai un fichier texte ou j'enregistre des requetes sql ( car j'ai un pseudo générateur de requete dans mon prog pour faire des recherches).

mon fichier est disposé comme ça :
LibelleRequete#RequeteSQL

# = séparateur

exemple :
Rechercher tout les clients#SELECT * FROM CLIENTS

quand je le lis avec mon StreamReader j'aimerais stocké tout ça dans un tableau a 2 dimensions

en gros ca devrait faire ça :

tableau(0, 0) = LIBELLEREQUETE
tableau(0, 1) = REQUETESQL

en utilisant la méthode split

mais comment faire, car le split fonctionne pour les tab à 1 dimensions et pas 2 ...
Revenir en haut Aller en bas
Sakééé
Hyper_Noob
Hyper_Noob
Sakééé


Messages : 88
Date d'inscription : 01/10/2007

DataTableAdapter Empty
MessageSujet: Re: DataTableAdapter   DataTableAdapter Icon_minitimeLun 9 Fév - 9:56

a part avec des boucles imbriquées avec un changement de condition entre les deux ou un test = false/true pour passer de (I,0) à (0,I), je ne vois pas trop
Revenir en haut Aller en bas
MakBzh
Maitre des Geeks
Maitre des Geeks
MakBzh


Messages : 320
Date d'inscription : 27/09/2007
Age : 35
Localisation : Château de Kaamelott

DataTableAdapter Empty
MessageSujet: Re: DataTableAdapter   DataTableAdapter Icon_minitimeLun 9 Fév - 12:30

Yep,
J'ai trouvé comment procéder pour mon ajout dans un tableau 2 dimensions.
J'utilise un tableau "temporaire" à 1dimensions où je stocke ma ligne.

puis je parcours le tableau temporaire et j'ajoute au fur et à mesure Smile



Code:
While Not ligneLue Is Nothing
            REM MessageBox.Show("N° Ligne : " & numeroLigne)
            REM MessageBox.Show("Ligne : " & ligneLue)

            If ligneLue <> Nothing Then
                REM MessageBox.Show("Ligne non vide")
                'Stockage temporaire de la ligne découpée
                tableauFichierTemp = ligneLue.Split("#")
            End If
            'Ecriture dans le tableau 2 dimensions
            For i As Integer = 0 To tableauFichierTemp.Length - 1
                REM MessageBox.Show("Colonnne N° : " & pointeur)
                'Parcours du tableau temporaire + Ecriture dans nouveau tableau
                tableauFichier(i, pointeur) = tableauFichierTemp(i)
                REM MessageBox.Show("Ligne" & i & " : " & tableauFichier(i, pointeur))
            Next
            'Incrémentation du pointeur
            pointeur = pointeur + 1
            REM MessageBox.Show("Sorti du For")

            numeroLigne = numeroLigne + 1
            ligneLue = monStreamReader.ReadLine()
        End While

        monStreamReader.Close()

Voilà Wink

PS : en fait mon tableau n'a qu'une ligne mais plusieurs colonne et j'utilise un pointeur pour pointer( scratch ) la colonne sur laquelle je travaille.
(Merci Dino pour l'idée)

HF
Revenir en haut Aller en bas
Sakééé
Hyper_Noob
Hyper_Noob
Sakééé


Messages : 88
Date d'inscription : 01/10/2007

DataTableAdapter Empty
MessageSujet: Re: DataTableAdapter   DataTableAdapter Icon_minitimeLun 9 Fév - 13:46

tu as une idée pour l'erreur :

Le membre public 'Value' du type 'Long' est introuvable.

le code :

If TarifTableAdapter.ScalarVerif(codeFourn, DateMaj, CodeEssence, CodeEpaisseur).Value = 0 Then
Me.Validate()
Me.TarifBindingSource.EndEdit()
TarifTableAdapter.InsertQuery(CodeEssence, codeFourn, DateMaj, Montant)
Else
Me.Validate()
Me.TarifBindingSource.EndEdit()
TarifTableAdapter.UpdateQuery(Montant, CodeEssence, codeFourn, DateMaj)
End If

ca bloque au scalarVerif, qui marche parfaitement sous phpMyAdmin...merci !
Revenir en haut Aller en bas
MakBzh
Maitre des Geeks
Maitre des Geeks
MakBzh


Messages : 320
Date d'inscription : 27/09/2007
Age : 35
Localisation : Château de Kaamelott

DataTableAdapter Empty
MessageSujet: Re: DataTableAdapter   DataTableAdapter Icon_minitimeLun 9 Fév - 16:04

oh la ... alors ...

tu peux faire ton scalarVerif sans passer des paramètres ?

ton .Value te ramene quoi ? Integer, double ...

ps : mais le code c'est pas le code - Kaamelott
Revenir en haut Aller en bas
Sakééé
Hyper_Noob
Hyper_Noob
Sakééé


Messages : 88
Date d'inscription : 01/10/2007

DataTableAdapter Empty
MessageSujet: Re: DataTableAdapter   DataTableAdapter Icon_minitimeLun 9 Fév - 16:09

nan en fait je viens de trouver: il fallait que j'applique les codes du pays de Vannes, auquels je tiens une grande opinion comme vous savez, et ensuite que j'aille me torcher la gueule devant un cul d'poule

ps : enlever le .value, générer, laisser mijoter à feux doux, et c'est prêt
Revenir en haut Aller en bas
MakBzh
Maitre des Geeks
Maitre des Geeks
MakBzh


Messages : 320
Date d'inscription : 27/09/2007
Age : 35
Localisation : Château de Kaamelott

DataTableAdapter Empty
MessageSujet: Re: DataTableAdapter   DataTableAdapter Icon_minitimeLun 9 Fév - 18:50

je dirais même plus "c'est pas faux ..."

il fallait analyser la partie redondante de ta ligne de code, surtout que la partie sporadique était ...
bon bref ^^

"Les framboises sont perchées sur le tabouret de mon grand-père"
Revenir en haut Aller en bas
SeMoS
Animateur Plot !
Animateur Plot !
SeMoS


Messages : 437
Date d'inscription : 27/09/2007
Age : 35
Localisation : ReNNeS

DataTableAdapter Empty
MessageSujet: Re: DataTableAdapter   DataTableAdapter Icon_minitimeLun 9 Fév - 19:04

stop les monologues la Smile
Revenir en haut Aller en bas
http://www.dtc.com
Sakééé
Hyper_Noob
Hyper_Noob
Sakééé


Messages : 88
Date d'inscription : 01/10/2007

DataTableAdapter Empty
MessageSujet: Re: DataTableAdapter   DataTableAdapter Icon_minitimeMar 10 Fév - 11:18

go wow sem' Wink
Revenir en haut Aller en bas
Contenu sponsorisé





DataTableAdapter Empty
MessageSujet: Re: DataTableAdapter   DataTableAdapter Icon_minitime

Revenir en haut Aller en bas
 
DataTableAdapter
Revenir en haut 
Page 1 sur 1

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
BTS IG :: Cours Uniquement (Demande, question) :: Prog-
Sauter vers: