Erreur de type de donnee a la fermeture de mon application

soupiste Messages postés 79 Date d'inscription samedi 12 avril 2008 Statut Membre Dernière intervention 22 juin 2011 - 29 avril 2010 à 17:42
soupiste Messages postés 79 Date d'inscription samedi 12 avril 2008 Statut Membre Dernière intervention 22 juin 2011 - 29 avril 2010 à 18:44
Je souffre depuis un moment d'une erreur lors de la fermeture de mon application.
J'ai une application avec 2 winform filles. dans la première, en raison d'un code que j'ai insérer dans la propriété Combobox1_SelectedIndexChanged(), à la fermeture de l'application le code s'exécute au moins 3 fois jusqu'à s'arrêter avant que mon application se ferme. J'ai contourné cette erreur avec un DataError que j'ai implémenté. Dans mon second form, toujours pour un autre Combobox pour lequel j'ai activé le Combobox2_SelectedIndexChanged(), j'ai la même erreur mais sous la forme d'un problème de conversion de type de données entre la valeur de mon paramètre dans ma requête sql (de type String) et une valeur de type double.

FORMAT EXCEPTION WAS HANDLED: Échec de la conversion de la valeur de paramètre d'un String en un Double.

Donc malgré le DataError prenant en compte le Commit, Cell Change, Parsing, ... le problème demeure.

Alors quelqu'un pourrait-il m'aider ?

Voici un bout de code sous mon Combobox2_SelectedIndexChanged()

private void Combobox2_SelectedIndexChanged(object sender, EventArgs e)
{
label7.Text = " LISTE DES CELLULES VOISINES DECLAREES DANS LA BASE D'ATOLL ";
label9.Visible = false;
CountIdentif_SQL "select count(*) from dbo.ADJACENCES_ATOLL WHERE CELL_IDM @NumVal";
label2.Text = control.ExecuQueryys(CountIdentif_SQL, CellContainer.Text).ToString() + " " + " " + " voisines dans ATOLL ";

OMCGridView.Visible = true;
panel5.Visible = true;

try
{
CmdSelect new SqlCommand("select ROW_NUMBER() OVER(ORDER BY Emetteur) RANG, EMETTEUR, CELL_IDM, SBS_Emetteur, Voisine, CELL_IDV, SBS_Voisine, TYPE_RELATION, Symétrie from dbo.ADJACENCES_ATOLL WHERE CELL_IDM @NumVal order by Emetteur ", control.MaConnect);
CmdSelect.CommandType = System.Data.CommandType.Text;
SqlParameter param = new SqlParameter("@NumVal", SqlDbType.Float);
param.Value = CellContainer.Text;

CmdSelect.Parameters.Add(param);
MonDataAdapter = new SqlDataAdapter(CmdSelect);
ds.Tables["ADJACENCES_ATO"].Clear();
//ds.Clear();
MonDataAdapter.Fill(ds.Tables["ADJACENCES_ATO"]);
CM = (CurrencyManager)BindingContext[ds.Tables["ADJACENCES_ATO"]];
//on affecte le datasource du datagrid afin de visualiser les données
ATOGridView.DataSource = ds.Tables["ADJACENCES_ATO"];
CM = (CurrencyManager)BindingContext[ds.Tables["ADJACENCES_ATO"]];
}
catch (Exception xcp)
{
MessageBox.Show("Error in Data retrieving", xcp.Message);

}
}
Si j'ai bien compris l'erreur, le problème se situerait a la partie en rouge avec la méthode ExecuQueryys contenue dans une classe de connexion que j'ai écrite:

public int ExecuQueryys(string myQuery, String paramName)
{
SqlConnection MaConnect = new SqlConnection(ConnectionString);
if (MaConnect.State != ConnectionState.Open)
{
MaConnect.Open();
}
int Nb = 0;
SqlCommand myCommand = new SqlCommand(myQuery);
SqlParameter param = new SqlParameter("@NumVal", SqlDbType.Float);
param.Value = paramName;
myCommand.Parameters.Add(param);

try
{
myCommand.Connection = MaConnect;
myCommand.ExecuteNonQuery();
myCommand.Connection.Close();

}
catch (SqlException ex)
{
System.Diagnostics.Debug.WriteLine("Error happened " + ex.ToString());
}

finally
{
MaConnect.Close();
MaConnect.Dispose();
myCommand.Dispose();
}
return Nb;
}

Amicalement

1 réponse

soupiste Messages postés 79 Date d'inscription samedi 12 avril 2008 Statut Membre Dernière intervention 22 juin 2011
29 avril 2010 à 18:44
Aucune réponse de personne encore ! je suis toujours en quête
0
Rejoignez-nous