Appel d'1 methode de classe : nothing happen ! [Résolu]

Messages postés
88
Date d'inscription
mardi 3 mai 2005
Statut
Membre
Dernière intervention
17 septembre 2006
- - Dernière réponse : bootchoz
Messages postés
88
Date d'inscription
mardi 3 mai 2005
Statut
Membre
Dernière intervention
17 septembre 2006
- 2 août 2006 à 13:58
re,
j'ai un pb avec une classe que j'ai créée qui permet la Recuperation du nom d'un formulaire en fonction de son ID et rien ne se passe. Je n'arrive pas a utiliser le mode debug, donc si quelqu'un pouvait m'aider ce serait sympa. il n'y a aucun message d'erreur.









public



Boolean
loadName(

long
id_form){


SqlConnection
cn =

null
;


SqlCommand
cmd =

null
;


SqlDataReader
dr =

null
;cn =


new



SqlConnection
(

ConfigurationManager
.AppSettings[

"cn.ConnectionString"
]);cmd =


new



SqlCommand
(

"SelectNomEn"
, cn);cmd.CommandType=


CommandType
.StoredProcedure;cmd.Parameters.Add(


"@id_form"
,

SqlDbType
.BigInt, 64);


try

{


cn.Open();


dr = cmd.ExecuteReader();







if
(dr.Read())_nom = dr.IsDBNull(0) ?


""
: dr.GetString(0);dr.Close();


return



true
;}


catch

{







return



false
;}


finally

{







if
(cn !=

null
) cn.Close();}}
et je recupere comme ceci :

protected





void
visualiser_OnClick(

object
sender,

EventArgs
e){


Formulaire
form =

new



Formulaire
();


long
en =

Convert
.ToInt64(form_DDL.SelectedValue);form.loadName(en);

Response.Redirect(


"edition.aspx?en="
+ form.nom);


}
dans mon .conf  j'ai :<

appSettings><!--

Server Active Directory -->

<addkey="
cn.ConnectionString"
value="
Data Source=yyyyyyy"
/></

appSettings><

connectionStrings><

addname="
AccessRequestConnectionString"
connectionString="
Data Source=yyyyyyy"
providerName="
System.Data.SqlClient"
/></

connectionStrings>
est-ce que cela provient de ma connexion ?
merci encore pour votre aide.
Afficher la suite 

10 réponses

Meilleure réponse
Messages postés
88
Date d'inscription
mardi 3 mai 2005
Statut
Membre
Dernière intervention
17 septembre 2006
3
Merci
voici la solution a mon souci si ça peut aider : en fait j'ai modifié



cmd = new
SqlCommand

(

"SelectNomEn"



, cn);
 la solution, le faire en plusierurs commandes : 



cmd =



new



SqlCommand
();


cmd.CommandType =

CommandType
.StoredProcedure;cmd.CommandText =


"SelectNomEn"
;cmd.Connection = cn;




j'ai toujours mon souci de [FormatException: Input string was not in a correct format.] mais ca ne vient pas de cette méthode.

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 119 internautes nous ont dit merci ce mois-ci

Commenter la réponse de bootchoz
Messages postés
6827
Date d'inscription
dimanche 15 décembre 2002
Statut
Modérateur
Dernière intervention
13 octobre 2010
16
0
Merci
Bonsoir,

tu pourrais expliquer un peu plus et montrer seulement le code qui pose problème. Le type Formulaire correspond à quoi ? quand tu dis rien ne se passe ca veut dire quoi ? Qu'est-ce qui t'empeche d'y aller en debug ?

<hr />Cyril - MVS - MCP
Commenter la réponse de jesusonline
Messages postés
88
Date d'inscription
mardi 3 mai 2005
Statut
Membre
Dernière intervention
17 septembre 2006
0
Merci
ok, Formulaire est une classe que j'ai créée. Son constructeur initialise juste les membres de la classes (id & nom). Aucune erreurs n'est detectée lors de la compilation et lorsque je demande l'affichage du nom du formulaire, delui ci ne s'affiche pas. j'ai essayé d'utiliser le mode debug avec les breakpoint mais je ne comprends pas commment on l'utilise. peut-etre tu connais un tuto en francais.
Commenter la réponse de bootchoz
Messages postés
6827
Date d'inscription
dimanche 15 décembre 2002
Statut
Modérateur
Dernière intervention
13 octobre 2010
16
Commenter la réponse de jesusonline
Messages postés
88
Date d'inscription
mardi 3 mai 2005
Statut
Membre
Dernière intervention
17 septembre 2006
0
Merci
genial, merci pour ce tuto, il a l'air tres bien.
Commenter la réponse de bootchoz
Messages postés
88
Date d'inscription
mardi 3 mai 2005
Statut
Membre
Dernière intervention
17 septembre 2006
0
Merci
lors du debug, j'ai trouvé que l'erreur vient de la sqlConnection. cn = null.
j'ai apporté des modifs mais je n'arrive pas a trouver la solution.
//je reprends la propriété name de <connectionStrings
> dans web.config
string

connString =
ConfigurationManager.ConnectionStrings[
"AccessRequestConnectionString"].ConnectionString;
dans mon code je fais : cn =
new
SqlConnection(connString);cmd =

new
SqlCommand(
"SelectNomEn", cn);cmd.CommandType=

CommandType.StoredProcedure;cmd.Parameters.Add(

"@id_form",
SqlDbType.BigInt, 64);try

{ cn.Open(); ...
si quelqu'un voit l'erreur, merci de votre aide
Commenter la réponse de bootchoz
Messages postés
6827
Date d'inscription
dimanche 15 décembre 2002
Statut
Modérateur
Dernière intervention
13 octobre 2010
16
0
Merci
connString vaut quoi ?

<hr />Cyril - MVS - MCP
Commenter la réponse de jesusonline
Messages postés
88
Date d'inscription
mardi 3 mai 2005
Statut
Membre
Dernière intervention
17 septembre 2006
0
Merci
connString.ToString()="Data Source=MNFDEV;Initial Catalog=AccessRequest;Integrated Security=True"
ce qui correspond a web.config
Commenter la réponse de bootchoz
Messages postés
88
Date d'inscription
mardi 3 mai 2005
Statut
Membre
Dernière intervention
17 septembre 2006
0
Merci
j'ai modifié comme ceci :

string connString =
ConfigurationManager.ConnectionStrings[
"AccessRequestConnectionString"].ConnectionString;cn =

new
SqlConnection();cn.ConnectionString = connString;
cn est ok now, il me reste cmd a solutionner.
Commenter la réponse de bootchoz
Messages postés
88
Date d'inscription
mardi 3 mai 2005
Statut
Membre
Dernière intervention
17 septembre 2006
0
Merci
il me reste un erreur de format :
 An unhandled exception was generated during the execution of the current web request [FormatException: Input string was not in a correct format.]
   System.Number.StringToNumber(String str, NumberStyles options, NumberBuffer& number, NumberFormatInfo info, Boolean parseDecimal) +2753379
   System.Number.ParseInt64(String value, NumberStyles options, NumberFormatInfo numfmt) +112
   System.String.System.IConvertible.ToInt64(IFormatProvider provider) +45
   System.Convert.ChangeType(Object value, TypeCode typeCode, IFormatProvider provider) +357
   System.Web.UI.WebControls.Parameter.GetValue(Object value, String defaultValue, TypeCode type, Boolean convertEmptyStringToNull, Boolean ignoreNullableTypeChanges) +264
   System.Web.UI.WebControls.Parameter.get_ParameterValue() +66
   System.Web.UI.WebControls.ParameterCollection.GetValues(HttpContext context, Control control) +254
   System.Web.UI.WebControls.SqlDataSourceView.InitializeParameters(DbCommand command, ParameterCollection parameters, IDictionary exclusionList) +276
   System.Web.UI.WebControls.SqlDataSourceView.ExecuteSelect(DataSourceSelectArguments arguments) +754
   System.Web.UI.DataSourceView.Select(DataSourceSelectArguments arguments, DataSourceViewSelectCallback callback) +17
   System.Web.UI.WebControls.DataBoundControl.PerformSelect() +149
   System.Web.UI.WebControls.BaseDataBoundControl.DataBind() +70
   System.Web.UI.WebControls.GridView.DataBind() +4
   System.Web.UI.WebControls.BaseDataBoundControl.EnsureDataBound() +82
   System.Web.UI.WebControls.CompositeDataBoundControl.CreateChildControls() +69
   System.Web.UI.Control.EnsureChildControls() +87
   System.Web.UI.Control.PreRenderRecursiveInternal() +41
   System.Web.UI.Control.PreRenderRecursiveInternal() +161
   System.Web.UI.Control.PreRenderRecursiveInternal() +161
   System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +1360
je ne comprends pas d'ou ca vient. j'ai regardé la requete, elle fonctionne bien. on dirait que ca vient de la conversion : Int64

en =
Convert.ToInt64(form_DDL.SelectedValue); form.loadName(en); cette fonction attends bien un Int64 en param que je refile a la requete qui attends un bigInt. bingInt ?= Int64
Commenter la réponse de bootchoz