Précédent   Forum des professionnels en informatique > Bases de données > MS SQL-Server > Développement
Développement Forum d'entraide sur le Transact-SQL, le CLR, les procédures stockées, les triggers, les requêtes SQL
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 24/05/2011, 17h47   #1
Invité de passage
 
Femme
Étudiant
Inscription : mai 2011
Messages : 4
Détails du profil
Informations personnelles :
Sexe : Femme
Localisation : Algérie

Informations professionnelles :
Activité : Étudiant
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : mai 2011
Messages : 4
Points : 0
Points : 0
Par défaut Erreur en Insert SQL-Server

Bonjour à tous j'ai un soucis avec mon programme,pouvez vous m'aider svp!!!
mon programme est comme suit :

Code :
1
2
3
4
5
6
7
8
9
res_pearson = (float)(res1 * (1.0 / (Math.Sqrt(res2 * res3))));
 
 myconnection.Open();
 
 SqlCommand commande = new SqlCommand("INSERT INTO correlation (id1,id2,vcorrelation) VALUES ('" + id[i] + "','" + id[j] + "','" + res_pearson + "') ", myconnection);
 
 commande.ExecuteNonQuery();
 
 myconnection.Close();
et l'erreur c'est :error converting data type to float.
il m'accepte pas res_pearson.

merciii de m'aider
soumbol est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/05/2011, 18h08   #2
Membre Expert
 
Homme
Responsable de service informatique
Inscription : janvier 2009
Messages : 1 081
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 38
Localisation : France

Informations professionnelles :
Activité : Responsable de service informatique
Secteur : Boutique - Magasin

Informations forums :
Inscription : janvier 2009
Messages : 1 081
Points : 1 875
Points : 1 875
Bonjour,
Je note que dans la requête, res_pearson est entouré de cote:
SqlCommand commande = new SqlCommand("INSERT INTO correlation (id1,id2,vcorrelation) VALUES ('" + id[i] + "','" + id[j] + "','" + res_pearson + "') ", myconnection);

Or comme c'est un numerique, il ne faut pas de cote...

Tatayo.
tatayo est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/05/2011, 19h36   #3
Invité de passage
 
Femme
Étudiant
Inscription : mai 2011
Messages : 4
Détails du profil
Informations personnelles :
Sexe : Femme
Localisation : Algérie

Informations professionnelles :
Activité : Étudiant
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : mai 2011
Messages : 4
Points : 0
Points : 0
ben si j'utilise pas de ' ' ça ne fonctionne pas
soumbol est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/05/2011, 19h55   #4
Membre Expert
 
Avatar de iberserk
 
Homme Bruno IGNACE
Architecte de base de données
Inscription : novembre 2004
Messages : 1 299
Détails du profil
Informations personnelles :
Nom : Homme Bruno IGNACE
Âge : 30
Localisation : France, Gironde (Aquitaine)

Informations professionnelles :
Activité : Architecte de base de données
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : novembre 2004
Messages : 1 299
Points : 2 282
Points : 2 282
Envoyer un message via MSN à iberserk
Citation:
ben si j'utilise pas de ' ' ça ne fonctionne pas
Mais avec aussi


Il faut surement envoyer ton float avec un "." comme séparateur de décimal.

En revanche tu n'aurais pas ce soucis si ton code étais propre et donc si tu utilisais les SqlParameters pour envoyer tes paramètres à ta requète...

Je pense aux pauvres développeurs de MICROSOFT qui se sont embétés à faire ca pour rien

Vois ici:
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.
iberserk est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/05/2011, 20h00   #5
Membre Expert
 
Avatar de iberserk
 
Homme Bruno IGNACE
Architecte de base de données
Inscription : novembre 2004
Messages : 1 299
Détails du profil
Informations personnelles :
Nom : Homme Bruno IGNACE
Âge : 30
Localisation : France, Gironde (Aquitaine)

Informations professionnelles :
Activité : Architecte de base de données
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : novembre 2004
Messages : 1 299
Points : 2 282
Points : 2 282
Envoyer un message via MSN à iberserk
Citation:
Je note que dans la requête, res_pearson est entouré de cote:
Normal c'est un float... ta remarque est juste sur un entier...
__________________
Prendre conscience, c'est transformer le voile qui recouvre la lumière en miroir.
iberserk est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/05/2011, 20h26   #6
Invité de passage
 
Femme
Étudiant
Inscription : mai 2011
Messages : 4
Détails du profil
Informations personnelles :
Sexe : Femme
Localisation : Algérie

Informations professionnelles :
Activité : Étudiant
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : mai 2011
Messages : 4
Points : 0
Points : 0
ben dans une requête comme insert le values dois avoir les cotes quelque soit la donnée.
soumbol est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/05/2011, 20h53   #7
Membre Expert
 
Avatar de iberserk
 
Homme Bruno IGNACE
Architecte de base de données
Inscription : novembre 2004
Messages : 1 299
Détails du profil
Informations personnelles :
Nom : Homme Bruno IGNACE
Âge : 30
Localisation : France, Gironde (Aquitaine)

Informations professionnelles :
Activité : Architecte de base de données
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : novembre 2004
Messages : 1 299
Points : 2 282
Points : 2 282
Envoyer un message via MSN à iberserk
Citation:
ben dans une requête comme insert le values dois avoir les cotes quelque soit la donnée.

Non vous pouvez faire cela
Code :
1
2
 
INSERT INTO dbo.TableA (IDentier) VALUES (1)
:
__________________
Prendre conscience, c'est transformer le voile qui recouvre la lumière en miroir.
iberserk est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/05/2011, 20h55   #8
Expert Confirmé
 
Avatar de 7gyY9w1ZY6ySRgPeaefZ
 
Homme
dba
Inscription : juillet 2007
Messages : 2 520
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Canada

Informations professionnelles :
Activité : dba

Informations forums :
Inscription : juillet 2007
Messages : 2 520
Points : 3 967
Points : 3 967
Citation:
Envoyé par soumbol Voir le message
ben dans une requête comme insert le values dois avoir les quotes quelque soit la donnée.
Vous dites une bêtises :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
CREATE TABLE [dbo].[machin](
	[chp1] [int] ,
	[chp2] [varchar](50) ) 
 
INSERT INTO [dbo].[machin] ([chp1],[chp2]) VALUES ( 56465, 'une chose' )
(1 row(s) affected)
 
SELECT * FROM [dbo].[machin] 
 
chp1        chp2
----------- --------------------------------------------------
56465       une chose
__________________
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.
7gyY9w1ZY6ySRgPeaefZ est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/05/2011, 21h51   #9
Invité de passage
 
Femme
Étudiant
Inscription : mai 2011
Messages : 4
Détails du profil
Informations personnelles :
Sexe : Femme
Localisation : Algérie

Informations professionnelles :
Activité : Étudiant
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : mai 2011
Messages : 4
Points : 0
Points : 0
je sais qu'on peut faire ceci,mais dans mon cas non,
d'ailleur mon probleme c'est que je ne sais pas comment inseré une valeur float
dans ma base de donnée.
j'ai converti res_pearson en float mais il me l'accepte pas.
soumbol est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/05/2011, 22h06   #10
Membre Expert
 
Avatar de iberserk
 
Homme Bruno IGNACE
Architecte de base de données
Inscription : novembre 2004
Messages : 1 299
Détails du profil
Informations personnelles :
Nom : Homme Bruno IGNACE
Âge : 30
Localisation : France, Gironde (Aquitaine)

Informations professionnelles :
Activité : Architecte de base de données
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : novembre 2004
Messages : 1 299
Points : 2 282
Points : 2 282
Envoyer un message via MSN à iberserk
Citation:
j'ai converti res_pearson en float mais il me l'accepte pas.
je vous ai déjà donné la solution!!!

Ne créez pas votre requete vous même! utilisez les SqlParameter!

http://msdn.microsoft.com/fr-fr/libr...(v=vs.80).aspx

si vous faites res_pearson.toString() vous aurez quelque chose comme 3,4 or le séparateur décimal de SQL SERVER est le "."...


Si vous voulez vraiment vous complaire dans votre code crade faites cela: res_pearson.toString().replace(",",".")
__________________
Prendre conscience, c'est transformer le voile qui recouvre la lumière en miroir.
iberserk est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 14h22.


 
 
 
 
Partenaires

Hébergement Web