|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | |
|
Invité de passage
![]() Inscription : juillet 2009 Messages : 9 ![]() |
Bonjour, voilà j'ai le problème suivant.
Je voudrais mettre à jour une donnée de la manière suivante: Code :
Dim cmd1 AS New SqlCommand("UPDATE Cottisation SET [MONTANT PAYE]=[MONTANT PAYE]+" & paye & " WHERE IDJOUEURS=" & code, CONNEX1) Code :
Dim cmd1 AS New SqlCommand("UPDATE Cottisation SET [MONTANT PAYE]=[MONTANT PAYE] +" & paye & " WHERE IDJOUEURS= " & code & " AND SAISON =" & DADA, CONNEX1) Citation:
|
|
|
|
00
|
|
|
#2 |
|
Membre Expert
![]() ![]() |
Il me semble que la variable DADA est de type nvarchar
et la colonne SAISON de type int. penser à convertir DADA en int |
|
00
|
|
|
#3 |
|
Invité de passage
![]() Inscription : juillet 2009 Messages : 9 ![]() |
ok pour la variable, mais je comprends parce que IDJOUEURS EST DU TYPE INT,
= VARIABLE code et SAISON est du type nchar(12), = VARIABLE DADA="2011/1012" question : comment convertir la variable DADA Merci pour la réponse, c'est déjà une approche. |
|
|
00
|
|
|
#4 |
|
Expert Confirmé
![]() dba Inscription : juillet 2007 Messages : 2 520 ![]() |
Pour ne pas trouver CONVERT, tu as vraiment du chercher fort !!!
Tu as aussi CAST - ne me remercies pas, je t'ai bien fait économiser 2 minutes de google.
__________________
les règles du forum - mode d'emploi du forum Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur) JE NE RÉPONDS PAS aux questions techniques par message privé. Écrire en français sur un forum est une marque minimale de respect. |
|
|
00
|
|
|
#5 |
|
Invité de passage
![]() Inscription : juillet 2009 Messages : 9 ![]() |
Ok pour la recherche mais je pense avoir mal posé ma question:
Pourquoi faire un cast sur une donnée qui est du type nchar dans la table, c'est çà que je ne comprends pas. il faut aussi savoir que je n'ai que 70 ans et que je ne suis pas né avec l'informatique donc il m'arrive de ramer. Il faut aussi savoir que je n'ai aucun problème si il n'y a qu'une condition, mais alors il écrit dans tout la colonne, mais il ne devrais mettre à jour la rangée qui se rapporte à DADA "2011/2012" Merci |
|
|
00
|
|
|
#6 |
|
Expert Confirmé
![]() dba Inscription : juillet 2007 Messages : 2 520 ![]() |
tu essaies de stocker une chaine de caractère "2011/1012" dans un entier... Tu comprends que c'est impossible de stocker ceci dans un entier parce que ça n'a rien d'un entier.
__________________
les règles du forum - mode d'emploi du forum Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur) JE NE RÉPONDS PAS aux questions techniques par message privé. Écrire en français sur un forum est une marque minimale de respect. |
|
|
00
|
|
|
#7 |
|
Invité de passage
![]() Inscription : juillet 2009 Messages : 9 ![]() |
Code :
Sélectionner tout - Visualiser dans une fenêtre à part Code :
Dim cmd1 AS New SqlCommand("UPDATE Cottisation SET [MONTANT PAYE]=[MONTANT PAYE]+" & paye & " WHERE IDJOUEURS=" & code, CONNEX1) Code : Sélectionner tout - Visualiser dans une fenêtre à part Code :
Dim cmd1 AS New SqlCommand("UPDATE Cottisation SET [MONTANT PAYE]=[MONTANT PAYE] +" & paye & " WHERE IDJOUEURS= " & code & " AND SAISON =" & DADA, CONNEX1) Code :
Échec de la conversion de la valeur nvarchar '2010/2011 ' en type de données int.
Ce que je voudrais c'est de mettre à jour Code :
[MONTANT PAYE] SI IDJOUEURS est égal à code et SAISON = à DADA Expl: Il sagit d'une table du genre suivant: Colonne 1 IDPAYEMENTS (int) cles prym colonne 2 IDJOUEURS (int) "Relation avec table JOUEURS" colonne 3 SAISON (nchar(12)) colonne 4 Paye (numeric (5)) Ce qui donne: RANG 1 :1,1,2010/2011,100 RANG 2 :2,3,2011/2012,100 [COLOR="Black"] Donc: Je voudrais que 100 rouge = 120 si IDJOUERS =3 et que SAISON = 2011/2012 Ou j'ai un doute c'est que SAISON(nchar(12)) n'a que 9 caractères !!!! J'espère être clair, Si mon raisonnement est incorrecte Pourquoi? Merci et bonne journée. |
|
|
00
|
|
|
#8 | |
|
Membre Expert
![]() |
Citation:
Vous devez ajouter des quotes entre DADA car saison est de type caractère... Au passage le problème vient du fait que votre code est mauvais: vous devez utiliser les SqlParameters quand vous utilisez ADO.NET... Vous n'auriez pas eu ce genre de soucis.... d'autant que si code et dada sont saisis par l'utilisateur vous ne vous protégez pas des attaques par injections SQL...
__________________
Prendre conscience, c'est transformer le voile qui recouvre la lumière en miroir. |
|
|
|
00
|
|
|
#9 |
|
Membre Expert
![]() |
Voyez ce lien:
http://msdn.microsoft.com/fr-fr/libr...(v=vs.80).aspx
__________________
Prendre conscience, c'est transformer le voile qui recouvre la lumière en miroir. |
|
|
00
|
|
|
#10 |
|
Invité de passage
![]() Inscription : juillet 2009 Messages : 9 ![]() |
Le but du programme est de mettre à jour cette table avec des données qui proviennent d'une feuille Excel "relevé bancaire" donc les données code et DADA viennent de là. Ceci pour info.
Question: que veut dire : ajouter des "quotes" entre DADA car saison est de type caractère. Résumer de mes questions est : Pourquoi avec un SI c'est correcte mais pas avec 2 SI. Si quelqu'un à une solution de code correcte et compréhensible pour moi je suis preneur SQL server 2005 et visual studio VB Merci |
|
|
00
|
|
|
#11 |
|
Membre Expert
![]() |
Code :
Dim cmd1 AS New SqlCommand("UPDATE Cottisation SET [MONTANT PAYE]=[MONTANT PAYE] +" & paye & " WHERE IDJOUEURS= " & code & " AND SAISON ='" & DADA & "', CONNEX1) Vous devez ajouter '" et "' autour de dada comme je viens de le faire ci-haut. Pensez au SqlParameter
__________________
Prendre conscience, c'est transformer le voile qui recouvre la lumière en miroir. |
|
|
00
|
|
|
#12 |
|
Invité de passage
![]() Inscription : juillet 2009 Messages : 9 ![]() |
Merci pour la solution Si simple quand on se comprend avec des mots simples,
'"& DADA &"' et la solution demandée est là Merci a vous et bonne continuation. |
|
|
00
|
|
|
#13 | |
|
Membre Expert
![]() |
Citation:
Remplacez tout ca en passant par les SqlParameters (3 ème fois s'en est lassant)...
__________________
Prendre conscience, c'est transformer le voile qui recouvre la lumière en miroir. |
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com