Exception

firas_tn Messages postés 128 Date d'inscription mardi 11 janvier 2005 Statut Membre Dernière intervention 19 avril 2007 - 9 mai 2005 à 14:49
jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 - 10 mai 2005 à 11:16
Salut a vous
voulez vous bien m'expliquer de quoi il s'agit dans cette exception et ou qu'est ce qu'il faut corriger? merci d'avance
Détails de l'exception: System.IndexOutOfRangeException: Aucune ligne à la position 0.
Ligne 331 : da6.Fill(ds6);
Ligne 332 :
Ligne 333 : gain1_0.Value = ds6.Tables[0].Rows[0]["gain"];
Ligne 334 :
Ligne 335 : cmd_0.Parameters.Add(gain1_0);

9 réponses

jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 29
9 mai 2005 à 15:35
soit ton dataset est vide soit ta ligne est vide, quand il met indexoutofrange exception ca veut dire que t'essaye d'aller sur une ligne du tableau (on peut considérer le dataset comme un tableau de tableau) qui n'existe pas, si l'index 0 n'existe pas, ben c'est que rien n'existe ;)

tu peux nous montrer le code au dessus pour voir de quoi il s'agit, le dataadapter est bien placé ? la requete est bonne etc...


<HR>
Cyril - MCP ASP.net
Webmaster de : Hoshimi.CodeS-SourceS.fr
0
firas_tn Messages postés 128 Date d'inscription mardi 11 janvier 2005 Statut Membre Dernière intervention 19 avril 2007
9 mai 2005 à 16:09
biensur voila le code au dessus:

double p2 = Convert.ToDouble(ds5.Tables[0].Rows[0]["th_tx_power"]);



double t2 = Math.Pow(10,p2/10)/1000;



//PAR2_0.Value = Math.Round(t2,1);


PAR2_0.Value = t2;


cmd_0.Parameters.Add(PAR2_0);


SqlDataAdapter da6 =
new SqlDataAdapter();


DataSet ds6 =
new DataSet();


SqlCommand cmd6 =
new SqlCommand("select_antenna");


SqlParameter mwlink_id6 =
new SqlParameter("@mwlink_id", SqlDbType.VarChar);


SqlParameter site_id6 =
new SqlParameter("@site_id", SqlDbType.VarChar);


cmd6.Connection = connSQL;


cmd6.CommandType = CommandType.StoredProcedure;


mwlink_id6.Value = ds1.Tables[0].Rows[0]["mwlink_id"].ToString();


site_id6.Value = s1;


cmd6.Parameters.Add(mwlink_id6);


cmd6.Parameters.Add(site_id6);


da6.SelectCommand = cmd6;


da6.Fill(ds6);
0
jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 29
9 mai 2005 à 16:33
hum ....

en relisant le code, je vois pas ou est l'erreur, t'as essayer de regarder ce qui se passe en debug, ajoute un point d'arret avec F9, puis fais F5, et regarde ce qu'il se passe.


<HR>
Cyril - MCP ASP.net
Webmaster de : Hoshimi.CodeS-SourceS.fr
0
firas_tn Messages postés 128 Date d'inscription mardi 11 janvier 2005 Statut Membre Dernière intervention 19 avril 2007
10 mai 2005 à 10:22
bon j'ai inséré un point d'arret mais il ya pas d'erreurs a signaler
peut etre je peux t'expliquer un peu plus le probleme; bon il ya des données que je retire d'une table que je ne connais pas!? parfois ça marche et il me retire les données relative à un lien que je sélectionne et pour d'autres lien ça m'affiche cette page d'erreur
j'ai vu la requete Select antenna mais je n'ai pas trouvé d'ou il retire les données de quel table il ya le select...mais il n'ya pas de from quoi?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
firas_tn Messages postés 128 Date d'inscription mardi 11 janvier 2005 Statut Membre Dernière intervention 19 avril 2007
10 mai 2005 à 10:42
bon mon ami, j'ai trouvé quelque chose d'intéressant avec le truc de point d'arret, il ya une erreur a ce niveau :
Détails de l'exception: System.InvalidOperationException: La propriété SelectCommand n'a pas été initialisée avant l'appel de 'Fill'.

Ligne 329 : cmd6.Parameters.Add(site_id6);
Ligne 330 : da6.SelectCommand = cmd6;
Ligne 331 : da6.Fill(ds6);
Ligne 332 :
Ligne 333 : gain1_0.Value = ds6.Tables[0].Rows[0]["gain"];
0
firas_tn Messages postés 128 Date d'inscription mardi 11 janvier 2005 Statut Membre Dernière intervention 19 avril 2007
10 mai 2005 à 10:53
et mem le message d'erreur a changé , il me dit : impossible de trouver la table 0
comment je vais savoir le nom de cette table par ou il retire ces données?
0
jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 29
10 mai 2005 à 11:09
issu de l'aide en ligne de msdn

using (SqlConnection connection =
new SqlConnection(connectionString))
{
SqlDataAdapter adapter = new SqlDataAdapter();
adapter.SelectCommand = new SqlCommand(
queryString, connection);
adapter.Fill(dataset);
return dataset;
}


sinon au pire si l'erreur se produit pas toujours, tu fais un try catch ... mais bon c'est pas normal

par contre pour ton select, c'est une procédure stockée, ca retourne qqchose ??

sinon il faut pas faire comme ca, mais par

jesaisplusquelobjet.executenonquery


<HR>
Cyril - MCP ASP.net
Webmaster de : Hoshimi.CodeS-SourceS.fr
0
firas_tn Messages postés 128 Date d'inscription mardi 11 janvier 2005 Statut Membre Dernière intervention 19 avril 2007
10 mai 2005 à 11:13
oui la requete que j'ai select_antenna est une procédure stockée et elle retourne des données lorseque je l'exécute manuellement avec sql server ça marche trés bien et mem pour certains données lors de l'exécution dans ma page aspx ça marche mais pour beaucoup d'autres ça me renvoient ce msg d'erreur
0
jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 29
10 mai 2005 à 11:16
ben regarde c'est quand tu met quelle param que ca plante ?

pour tester, tu entoure tout ca d'un bloc try catch

et puis dans le catch tu ecrit l'erreur pour savoir ce qui s'est passé :)


<HR>
Cyril - MCP ASP.net
Webmaster de : Hoshimi.CodeS-SourceS.fr
0
Rejoignez-nous