Erreur SQL [Résolu]

Signaler
Messages postés
306
Date d'inscription
vendredi 16 janvier 2004
Statut
Membre
Dernière intervention
10 mai 2017
-
Messages postés
306
Date d'inscription
vendredi 16 janvier 2004
Statut
Membre
Dernière intervention
10 mai 2017
-
Bonjour tout le monde :D


Alors me voila face à une erreur que je n'ai pas encore vue :p


Et apres recherche sur le net et consultatin de mes collègues, ben aucunes réponses :(


Alors je me tourne naturellement ver vous :D


C'est tout simple, j'utilise ADO.NET avec une base sql server, et lors d'un udate avec un command builder :


dts.Tables("lignes_fact").Rows.Add(NewLigne)


cmdbuild = New SqlClient.SqlCommandBuilder(da_lignes)



da_lignes.InsertCommand = cmdbuild.GetInsertCommand()



da_lignes.Update(dts, "lignes_fact")



Debug.WriteLine("dddddddddd :: " & ex.Message)





 il me dit :



Une exception non gérée du type 'System.InvalidOperationException' s'est produite dans system.data.dll


Informations supplémentaires : La génération SQL dynamique n'est pas prise en charge pour plusieurs tables de base.








BIz [;)]

10 réponses

Messages postés
306
Date d'inscription
vendredi 16 janvier 2004
Statut
Membre
Dernière intervention
10 mai 2017
2
bon ben ça y ai, tout est règlé.


C'était pas une erreur dans mon code,  mais de "concepetion", en effet j'ai trouvé réponse à mes problèmes : on ne peut pas utiliser une requête contenant une jointure dans le cadre de l'utilisation des commandes automatiques d'un commandbuilder...


 


Voila voila :D


 


Merci à vous pour les infos :D

BIz [;)]
Messages postés
80
Date d'inscription
jeudi 22 juillet 2004
Statut
Membre
Dernière intervention
28 août 2006
1
Y a quoi dans NewLigne ?
Messages postés
80
Date d'inscription
jeudi 22 juillet 2004
Statut
Membre
Dernière intervention
28 août 2006
1
et dans da_ligne ?
Messages postés
351
Date d'inscription
mercredi 21 juillet 2004
Statut
Membre
Dernière intervention
12 août 2009

Bonjour,

Que donne le Debug ? Quelle ligne de code semble générer l'exception ? Est-il possible de cibler davantage l'exception levée  avec les objets exceptions propres à SQL (try catch) ? Tous les objets et valeurs sont-ils valides ? Y a-t-il des options à valider du coté server ?

thierry la fronde
Messages postés
306
Date d'inscription
vendredi 16 janvier 2004
Statut
Membre
Dernière intervention
10 mai 2017
2
Alors y a un try mais je l'ai effacer pour le message ^^ et don ce try est autour de la ligne qui pose problème, c'est à dire autour de da_lignes.InsertCommand = cmdbuild.GetInsertCommand()

New_ligne est normalement nikel (c un datarow, qui est beien rempli, car j'ai réparer les bugs à ce niveau déja). Et da_lignes est un dataadapter.

BIz [;)]
Messages postés
306
Date d'inscription
vendredi 16 janvier 2004
Statut
Membre
Dernière intervention
10 mai 2017
2
Ah aussi, ça bug avant le try, car dans le catch je demande un affichage en sortie (debug) et rien ne s'affiche...

BIz [;)]
Messages postés
351
Date d'inscription
mercredi 21 juillet 2004
Statut
Membre
Dernière intervention
12 août 2009

Essayez de voir d'abord pourquoi ça bug avant le try

thierry la fronde
Messages postés
6063
Date d'inscription
dimanche 13 avril 2003
Statut
Modérateur
Dernière intervention
15 juillet 2011
26
Salut

Ta structure de la base est elle correcte.
Je veux dire, ton ordre insert est-il réalisable, c'est à dire travaille sur une seule table avec une clé primaire.

Regarede de ce coté la.

Pour tester, prend ta table dans l'explorateur de serveur et créer toi un dataset
ou un dataadapter (l'un des deux créer une sqlcommand builder)
et regarde si il y a pas de warning

Solution :
Soit tu corriges ta base ajout PK
ou ta methode travaille sur un seul cas

Soit tu definis l'insert command de ta dataadapter à la main avec le bon sql qui te faut.

Bon courage.
Messages postés
306
Date d'inscription
vendredi 16 janvier 2004
Statut
Membre
Dernière intervention
10 mai 2017
2
Ouki je vais revoir tout ça alors :D


Merci je vous redonne des nouvelles bientot ;)

BIz [;)]
Messages postés
306
Date d'inscription
vendredi 16 janvier 2004
Statut
Membre
Dernière intervention
10 mai 2017
2
Bon ben en effet ma requete sql laissait largement à désirer
Alors j'ai corrigé ça

Mais ça ne marche toujours pas.

Par contre j'ai trouvé pourquoi ça bug malgré le try... Car j'ai fait un catch sur une SqlClient.SqlException

alors que mon erreur est une InvalidOperationException

ALors cela vous dit quelque chose en plus??
J'en ai parlé à d'autres, mais personne n'a vu encore cette erreur

Bref c'est cro dur....

Surtout que juste au dessus dans mon code je fait exactement la même chose sur une table qui ressemble (voui en fait la base est très mal faite, mais c'est normale, c'est pas moi qui l'ai faite   lol) Et là ca marche nikel..

BIz [;)]