cs_sofiesofie
Messages postés52Date d'inscriptiondimanche 2 septembre 2007StatutMembreDernière intervention26 juin 2008
-
4 juin 2008 à 17:13
cs_sofiesofie
Messages postés52Date d'inscriptiondimanche 2 septembre 2007StatutMembreDernière intervention26 juin 2008
-
12 juin 2008 à 02:17
salut,
j'ai une méthode d'authentification (d'ouvrir une session) dans un web service, j'ai essayé cette méthode en Windows Vista(laptop de ma copine), elle ça marche trés bien sans erreur et me donne comme résultat: "true"
et je l'ai essayé en Windows XP SP2( mon pc) elle me donne une erreur au niveau de la ligne
public int authentifier(string user, string vv)
erreur:
'WS_authentification.authentifier(string, string)' : tous les chemins de code ne retournent pas nécessairement une valeur
/////////////***************debut code:***************//////////////
using System;
using System.Web;
using System.Collections;
using System.Web.Services;
using System.Web.Services.Protocols;
using System.Data;
using System.Data.SqlClient;
using System.Configuration;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
....
[
WebMethod]
public
int authentifier(
string login,
string mp)
{
System.Data.SqlClient.
SqlConnection connexion;
connexion =
new System.Data.SqlClient.
SqlConnection();
est ce qu'il ya quelqu'un qui peut m'aider, vraiment je suis bloquée :( , et j'ai besoin de l'authentification pour terminer mon application, merci
excusez moi si j'ai mal choisi le thème , il n'ya pas C# et web service en .NET
merci pour codes-sources
A voir également:
Les chemins de code ne retournent pas tous une valeur
Nikoui
Messages postés794Date d'inscriptionvendredi 24 septembre 2004StatutMembreDernière intervention19 août 200813 4 juin 2008 à 18:28
En déplaçant une des deux dernières accolade fermante ('}') à la fin et en la mettant juste avant la ligne :
oReader.Close();
ca devrait marcher mieux...
Mais par contre, ca n'a (a priori) rien a voir avec Vista ou Xp : tu fais ton return dans le while, donc si tu ne rentre jamais dans le while, tu ne fait jamais de return (d'où le message d'erreur).
<hr size="2" width="100%" />
Working as designed
www.nikoui.fr
Liverion
Messages postés296Date d'inscriptionmardi 22 avril 2008StatutMembreDernière intervention18 août 2008 5 juin 2008 à 11:08
Sinon je sais pas si c'est une erreur de recopie, mais dans ton if devrait y avoir des " autour de login et mp à mon avis
Et par hasard il ne passerait pas seulement une fois dans ta boucle while ? parce que pour moi il passe dès la premiere fois dans le oReader.Close(), donc quel est l'interet du while ?
Et sinon au pire tu glisse un return -1 entre tes 2 dernières accolades, pour faire un retour d'erreur
~~
Les trois lois de Codes-Sources :
Loi 1) Tu lis et respectes le reglement
Loi 2) Tu penses à valider si une reponse apportée à ton problème t'a aidé
Loi 3) Si tu ne respectes pas les 2 premières ....TU SORS !!
Nikoui
Messages postés794Date d'inscriptionvendredi 24 septembre 2004StatutMembreDernière intervention19 août 200813 5 juin 2008 à 12:09
Pas besoin de ' " ' dans le if, ce sont des noms de variables...
D'apres le message d'erreur et d'après le code, c'est simplement ton return qui est mal placé.
Par contre ca n'explique pas pourquoi ca marchait sous Vista... tu es sur de ne pas avoir modifié le code entre temps?
Vous n’avez pas trouvé la réponse que vous recherchez ?
cs_sofiesofie
Messages postés52Date d'inscriptiondimanche 2 septembre 2007StatutMembreDernière intervention26 juin 2008 12 juin 2008 à 02:17
bonsoir, bon j'ai connait la faute, c'est au niveau de la requete il faut mettre "*" au lieu "sa_Num_CLI " . et aussi il faut changer l'emplacement de "{" et désolé si je vous dérangez
mais toujours il me reste un problème. il ne comprend pas cette ligne.
Session["UserNum"] = oReader[0].ToString();
j'ai testé avec des variables pour connaitre le problème: il entre dans le while et aussi dans le test de if . l'erreur au niveau de la session
merci de votre collaboration