| DataTableAdapter | |
|
|
Auteur | Message |
---|
Sakééé Hyper_Noob
Messages : 88 Date d'inscription : 01/10/2007
| Sujet: DataTableAdapter Mar 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 ?) | |
|
| |
MakBzh Maitre des Geeks
Messages : 320 Date d'inscription : 27/09/2007 Age : 35 Localisation : Château de Kaamelott
| Sujet: Re: DataTableAdapter Mar 3 Fév - 22:20 | |
| ouaip ... j'suis en plein dedans énonce moi ton problème jeune | |
|
| |
HiNaC [V.I.P] Geek
Messages : 113 Date d'inscription : 30/06/2008 Age : 38 Localisation : Saint-Brieuc
| Sujet: Re: DataTableAdapter Mar 3 Fév - 23:18 | |
| Demain (Mercredi) matin de 9h00 à 12h00 on a Logiou en salle C105 | |
|
| |
Sakééé Hyper_Noob
Messages : 88 Date d'inscription : 01/10/2007
| Sujet: Re: DataTableAdapter Mer 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 | |
|
| |
Sakééé Hyper_Noob
Messages : 88 Date d'inscription : 01/10/2007
| Sujet: Re: DataTableAdapter Mer 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 ! | |
|
| |
Sakééé Hyper_Noob
Messages : 88 Date d'inscription : 01/10/2007
| Sujet: Re: DataTableAdapter Mer 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 ! | |
|
| |
MakBzh Maitre des Geeks
Messages : 320 Date d'inscription : 27/09/2007 Age : 35 Localisation : Château de Kaamelott
| Sujet: Re: DataTableAdapter Mer 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à ps : si t'as d'autres soucis j'suis en plein dans DataSet, DataTableAdapter, DataBinding et cie ... GL | |
|
| |
Sakééé Hyper_Noob
Messages : 88 Date d'inscription : 01/10/2007
| Sujet: Re: DataTableAdapter Mer 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é) | |
|
| |
MakBzh Maitre des Geeks
Messages : 320 Date d'inscription : 27/09/2007 Age : 35 Localisation : Château de Kaamelott
| Sujet: Re: DataTableAdapter Mer 4 Fév - 15:34 | |
| oups ouais autant pour moi...
Le binding c'est puissant mais galère | |
|
| |
Sakééé Hyper_Noob
Messages : 88 Date d'inscription : 01/10/2007
| Sujet: Re: DataTableAdapter Jeu 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 | |
|
| |
Goret Admin
Messages : 224 Date d'inscription : 26/09/2007 Age : 36 Localisation : Rennes
| Sujet: Re: DataTableAdapter Jeu 5 Fév - 11:56 | |
| | |
|
| |
Sakééé Hyper_Noob
Messages : 88 Date d'inscription : 01/10/2007
| Sujet: Re: DataTableAdapter Jeu 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 | |
|
| |
MakBzh Maitre des Geeks
Messages : 320 Date d'inscription : 27/09/2007 Age : 35 Localisation : Château de Kaamelott
| Sujet: Re: DataTableAdapter Jeu 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 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 c'est une alternative mais ça fonctionne bien | |
|
| |
Sakééé Hyper_Noob
Messages : 88 Date d'inscription : 01/10/2007
| Sujet: Re: DataTableAdapter Jeu 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 ! | |
|
| |
MakBzh Maitre des Geeks
Messages : 320 Date d'inscription : 27/09/2007 Age : 35 Localisation : Château de Kaamelott
| Sujet: Re: DataTableAdapter Ven 6 Fév - 12:42 | |
| non non j't'expliquait une solution alternative à ton problème.
^^ | |
|
| |
Sakééé Hyper_Noob
Messages : 88 Date d'inscription : 01/10/2007
| Sujet: Re: DataTableAdapter Ven 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" | |
|
| |
MakBzh Maitre des Geeks
Messages : 320 Date d'inscription : 27/09/2007 Age : 35 Localisation : Château de Kaamelott
| Sujet: Re: DataTableAdapter Ven 6 Fév - 13:53 | |
| pas con à 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 ... | |
|
| |
Sakééé Hyper_Noob
Messages : 88 Date d'inscription : 01/10/2007
| Sujet: Re: DataTableAdapter Lun 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 | |
|
| |
MakBzh Maitre des Geeks
Messages : 320 Date d'inscription : 27/09/2007 Age : 35 Localisation : Château de Kaamelott
| Sujet: Re: DataTableAdapter Lun 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 - 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à PS : en fait mon tableau n'a qu'une ligne mais plusieurs colonne et j'utilise un pointeur pour pointer( ) la colonne sur laquelle je travaille. (Merci Dino pour l'idée) HF | |
|
| |
Sakééé Hyper_Noob
Messages : 88 Date d'inscription : 01/10/2007
| Sujet: Re: DataTableAdapter Lun 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 ! | |
|
| |
MakBzh Maitre des Geeks
Messages : 320 Date d'inscription : 27/09/2007 Age : 35 Localisation : Château de Kaamelott
| Sujet: Re: DataTableAdapter Lun 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 | |
|
| |
Sakééé Hyper_Noob
Messages : 88 Date d'inscription : 01/10/2007
| Sujet: Re: DataTableAdapter Lun 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 | |
|
| |
MakBzh Maitre des Geeks
Messages : 320 Date d'inscription : 27/09/2007 Age : 35 Localisation : Château de Kaamelott
| Sujet: Re: DataTableAdapter Lun 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" | |
|
| |
SeMoS Animateur Plot !
Messages : 437 Date d'inscription : 27/09/2007 Age : 35 Localisation : ReNNeS
| Sujet: Re: DataTableAdapter Lun 9 Fév - 19:04 | |
| stop les monologues la | |
|
| |
Sakééé Hyper_Noob
Messages : 88 Date d'inscription : 01/10/2007
| Sujet: Re: DataTableAdapter Mar 10 Fév - 11:18 | |
| go wow sem' | |
|
| |
Contenu sponsorisé
| Sujet: Re: DataTableAdapter | |
| |
|
| |
| DataTableAdapter | |
|