Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Erreur : L'évaluation de l'expression à causé ... [ Base de données / SQL Server ] (shrek87)

mercredi 6 juin 2007 à 10:06:57 | Erreur : L'évaluation de l'expression à causé ...

shrek87

Bonjour à tous,

Je dévellope une appli dans laquelle je me connecte à une base SQL Server pour récupérer des infos.
Ce qui est bizarre c'est que j'ai une fonction qui marche une fois sur deux et je n'arrive pas à voir d'où vient le problème.
Voilà mon code :

// Connexion open
// Definition de la requète SQL :
 
                  cmdBD = new SqlCommand (string.concat("Select * from Article where refCB = ",textBoxCB.text),chaineConnexion);
// Déf du data reader : 
                  drConnBD = cmdBD.ExecuteReader(CommandBehavior.CloseConnection);
// Jusque là ca va.

                  if (drConnBD.Read())  
                           // |-----> c'est là que ca bloque ("drConnBD.read()"), une fois sur deux ca me mets le message d'erreur suivant : "l'évaluation de l'expression à causé un dépassement de capacité [name of function (if known) = ]"
                                           
                     textBoxNom = (string)drConnBD["Nom"];  // ca c'est bon aussi.
...

Si quelqu'un pouvait m'aider.
Merci.

mercredi 6 juin 2007 à 10:26:57 | Re : Erreur : L'évaluation de l'expression à causé ...

SharpMao

Membre Club
Ca ne vient sans doute pas de ça, mais :

UTILISER DES REQUETES PARAMETREES !!!!!!!

cmdBD = new SqlCommand (string.concat("Select * from Article where refCB = @refCB"),chaineConnexion);
SqlParameterparam = cmdBD .Parameters.Add("@refCB", SqlDbType.Int
);
param.Value = Integer.Parse("textBoxCB.text")



J'ai mis un paramètre de type int, libre à toi de le cahnger si ce n'est pas le cas.

Amicalement, SharpMao

"C'est pas parce qu'ils sont nombreux à avoir tort qu'ils ont raison!"
(Coluche / 1944-1986 / Pensées et anecdotes)

mercredi 6 juin 2007 à 10:37:22 | Re : Erreur : L'évaluation de l'expression à causé ...

Nurgle

Membre Club Administrateur CodeS-SourceS
Salut,
SharpMao, ça ne serait pas plutôt :

param.Value = Integer.Parse(textBoxCB.Text)

(ça m'étonnerait que "textBoxCB.text" puisse se caster en int )

Un dépassement de capacité dans un .Read().... bizarre ça... Quel est le message d'erreur complet ? (avec la StackStrace)
A++


Nurgle (Antoine) - MSP

mercredi 6 juin 2007 à 11:15:37 | Re : Erreur : L'évaluation de l'expression à causé ...

shrek87

Re, merci pour vos réponse.
Le stack trace me donne :
      

à System.Data.SqlServerCe.SqlCeDataReader.ProcessResults()

à System.Data.SqlServerCe.SqlCeDataReader.IsEndOfRowset()

à System.Data.SqlServerCe.SqlCeDataReader.Move()

à System.Data.SqlServerCe.SqlCeDataReader.Read()

à testSQL.Form1.AfficherMan()

à testSQL.Form1.btnAfficher_Click()

à System.Windows.Forms.Control.OnClick()

à System.Windows.Forms.Button.OnClick()

à System.Windows.Forms.ButtonBase.WnProc()

à System.Windows.Forms.Control._InternalWnProc()

à Microsoft.AGL.Forms.EVL.EnterMainLoop()

à System.Windows.Forms.Application.Run()

à testSQL.Program.Main()

Voilà A++


mercredi 6 juin 2007 à 12:39:15 | Re : Erreur : L'évaluation de l'expression à causé ...

Bidou

Administrateur CodeS-SourceS
Integer???
On ne fait pas de VB ici héhé  
Et en plus, mieux vaut utiliser tryparse que parse...

bool ok = Int32.TryParse(myString, out result);




-Blog-

mercredi 6 juin 2007 à 12:50:19 | Re : Erreur : L'évaluation de l'expression à causé ...

SharpMao

Membre Club
Oui, bon d'accord, je vais me cacher ...

Désolé, ces derniers temps je code en VB, ferais mieux d'utiliser Int32, c'est valable en C# comme du côté obscure de la force.
Tu as bien entendu raison égalemement Nurgle.

Amicalement, SharpMao

"C'est pas parce qu'ils sont nombreux à avoir tort qu'ils ont raison!"
(Coluche / 1944-1986 / Pensées et anecdotes)

jeudi 7 juin 2007 à 10:17:45 | Re : Erreur : L'évaluation de l'expression à causé ...

Nurgle

Membre Club Administrateur CodeS-SourceS

Oulà, j'ai même pas fait attention au Integer non plus  !
C'est un signe, je vais trop de VB :p

SqlCeDataReader, ça fait pas parti du framework ça, si tu as les sources tu peux aller regarder dans ProcessResults() (ou sinon avec Reflector)
A part ça, est ce que ta requête elle-même fonctionne ?

Mais un dépassement de capacité, en .NET, c'est pas possible ! Et en SQL, franchement je suis pas sûr...
Donc ce truc doit appeller du COM derrière ou un truc du genre, il faut aller voir dans ProcessResults(). Mais si en plus ça marche qu'une fois sur deux, de manière totalement aléatoire... ça va être difficile à résoudre.

A++


Nurgle  (Antoine) - MSP

samedi 9 juin 2007 à 13:04:53 | Re : Erreur : L'évaluation de l'expression à causé ...

coq

Administrateur CodeS-SourceS
Salut,

Si si, c'est le provider ADO.NET standard pour SQL Server CE.

refCB est de quel type ?
Logiquement il devrait y avoir un code d'erreur avec le message, ça peut être plus parlant.
Quand tu dis que ça échoue une fois sur 2, tu parles d'une execution sur 2, ou d'une ligne du jeu de résultat sur 2 ?
Il faudrait voir la structure de la table, si elle comporte un grand nombre de colonnes / des colonnes volumineuses.
S'il y a des colonnes calculées etc.


/*
coq
MVP Visual C#
CoqBlog
*/

lundi 11 juin 2007 à 09:17:25 | Re : Erreur : L'évaluation de l'expression à causé ...

shrek87

Salut, et merci de ta réponse coq.

Ma table n'a que 3 colonnes : RefCB, Désignation, Quantite
Elles sont toutes de type nvarchar, les valeurs nulles ne sont pas autorisée et refCB est unique mais pas clé primaire.

Il n'y a pas de code d'erreur avec le message.

La fonction marche avec certaines lignes de ma table.

Je ne sait vraiment pas quoi faire.



Cette discussion est classé dans : erreur, expression, drconnbd, évaluation, causé


Répondre à ce message

Sujets en rapport avec ce message

Problème Expression régulière en C# ! [ par vladam ] Hello, Je voudrais utiliser une expression régulière en C# avec la syntaxe : Regex RegexpEmail = new Regex("\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w Erreur : Parameter '?xml' must be defined [ par benbobo55 ] Voilà je veux mettre des ligne au format xml dans ma base de donnée mysql, mais voici l'erreur retournée : Parameter '?xml' must be definedVoici une d Erreur bizarre avec WndProc [ par didgy ] Bonjour,Jessais d'overrider WndProc et je reçois une erreur étrange"Erreur lors de la création d'un handle fenêtre."Je déclare WndProc comme ça Connexion Socket et WebServices... [ par zigxag ] Bonjour !Je voudrais programmer une Web Method sensée se connecter à un serveur distant et renvoyer le résultat de la connexion. Or, le message d'erre Erreur de configuration [ par pma3d ] Bonjour à tous. Voilà, pour ceux qui suivent mes posts, mon projet avance. Je pensais en avoir terminé avec les difficultés, mais hier, j'ai encore e Erreur bizarre [ par fredouille312 ] Bonjour à tous, J'ai un message d'erreur qui apparait après le 2ème affichage de mon DataGrid (quand je change le style). Si, j'ignore se message tout Erreur: Specified Cast Is Not Valid [ par Darkneon ] Salut,J'ai un probleme. J'essais de debugger le code de mon collegue mais Visual Studio me lance l'erreur que j'ai mis dans le titre. Le programme com contenu dune chaine de caratères [ par titi66 ] bonjourje stocke dans un fichier xml mes messages d'erreur.Pour avoir quelque chose d'uniforme, j'ai mis dans ce fichier un nom de variable que j'util erreur de type [ par cococo84 ] Bonjour, j'ai fais l'opération arithmétique suivante : numericUpDown1.Value=numericUpDown2.Value / 3.14; il n'accepte pas la valeur decimale 3.14.Pour xml et caractère spéciaux [ par zarmin ] Bonjour , Je cherche à sauvegarder un xml comportant des carctères spéciaux du type "&" Je n'arrive pas à


Nos sponsors

Sondage...

CalendriCode

Novembre 2008
LMMJVSD
     12
3456789
10111213141516
17181920212223
24252627282930

Consulter la suite du CalendriCode

Téléchargements



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,203 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.