IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Windows Forms Discussion :

[PPC][C#][Sql CE] erreur "no data exists for the row/column"


Sujet :

Windows Forms

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    novembre 2006
    Messages
    45
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : novembre 2006
    Messages : 45
    Points : 34
    Points
    34
    Par défaut [PPC][C#][Sql CE] erreur "no data exists for the row/column"
    Bonjour a tous,

    voila le probleme :

    Form 1 :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    ...
    SqlCeCommand cmd = new SqlCeCommand ("select....",connection);
    SqlCeDataReader Reader = cmd.ExecuteReader();
     
    label.text = reader.getstring(1);
    label1.text = reader.getstring (9);
    ...
    --> le but de ceci c'est de recupere les donnees de la DB pour afficher dans les labels.

    dans ce form j'ai un bouton ki passe a un autre form : Form 2 qui affiche les labels de Form1 dans des text box dans Form 2 pour editer.

    Donc l'affichage des donnees dans mes texts box pour l'edition focntionne tres bien mais quand je click sur le bouton "back" pour revenir au Form 1 (donc l'affichage dans des labels) j'ai l'erreur suivante :
    "no Data exists for the row/column"
    "InvalidOperationException was unhandle" sur chaque ligne >>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    label1.text = reader.getstring (9);
    Pourtant il existe bien un 9eme element dans ma requete.
    Je comprends pas....


    Quelqu'un peut m'aider avec ce probleme??

    D'avance merci pour l'aide!
    Jess

  2. #2
    Membre confirmé Avatar de Jabbal'H
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    octobre 2004
    Messages
    403
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : octobre 2004
    Messages : 403
    Points : 578
    Points
    578
    Par défaut
    ca commencerait pas à 0 par hasard ?
    " Je préfère comprendre les gens qui ne me comprennent pas "

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    novembre 2006
    Messages
    45
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : novembre 2006
    Messages : 45
    Points : 34
    Points
    34
    Par défaut
    Biensur que ca commence a zero mais ca change rien j'ai bien compter mes elements a partir de 0.
    C'est pas ca le probleme j'ai deja verifier....

  4. #4
    Invité
    Invité(e)
    Par défaut
    Je vois que tu lis juste ta DB.

    Il ne faudrait pas que tu rajoute une commande d'écriture ou un update si tu edites tes textbox? Car en gros tu lui donne des données qu'il ne reconnait pas.

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    novembre 2006
    Messages
    45
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : novembre 2006
    Messages : 45
    Points : 34
    Points
    34
    Par défaut
    Oui je la lis et je laffiche dans les labels...
    Je comrpends pas ce que tu veux dire pour update ou quoi....
    Peux-tu m'expliquer stp?(Ex bienvenu)

    Ce que je comprends pas c'est que ce code lui pose probleme uniquement quand on revient au Form 1, car au premier affichage du Form cela ne cause aucun probleme....

  6. #6
    Invité
    Invité(e)
    Par défaut
    l'affichage des donnees dans mes texts box pour l'edition focntionne
    Donc tu change les données de tes textbox? si tu les changent, les références entre ton form1 et ton form2 ne sont plus les meme d'où

    "no Data exists for the row/column"
    Tu doit donc réecrire tes données dans ta base avant de revenir au form1 je pense.

    tu fais un truc du genre (je l'ai faire avec MySql pas avec Sql CE)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
     
    private void GetDatabases() 
    		{
    			databaseList.Items.Add( "AAAA");
     
    		}
     
    		private void databaseList_SelectedIndexChanged(object sender, System.EventArgs e)
    		{
    			MySqlDataReader reader = null;
     
    			conn.ChangeDatabase( databaseList.SelectedItem.ToString() );
     
    			MySqlCommand cmd = new MySqlCommand("SHOW TABLES", conn);
    			try 
    			{
    				reader = cmd.ExecuteReader();
    				tables.Items.Clear();
    				while (reader.Read()) 
    				{
    					tables.Items.Add( reader.GetString(0) );
    				}
    			}
    			catch (MySqlException ex) 
    			{
    				MessageBox.Show("Failed to populate table list: " + ex.Message );
    			}
    			finally 
    			{
    				if (reader != null) reader.Close();
    			}
    		}
     
    		private void tables_SelectedIndexChanged(object sender, System.EventArgs e)
    		{
    			data = new DataTable();
     
    			da = new MySqlDataAdapter("SELECT * FROM " + "resedo." + tables.SelectedItem.ToString() + " limit 0, 5000 ;" , conn );
    			cb = new MySqlCommandBuilder( da );
     
    			da.Fill( data );
    			dataGrid.DataSource = data;
    		}
     
    		private void updateBtn_Click(object sender, System.EventArgs e)
    		{
    			DataTable changes = data.GetChanges();
     
    			if (changes != null)
    			{
    				da.Update( changes );
    				data.AcceptChanges();
    			}
    			else
    				MessageBox.Show("Une erreur a été commise lors de la saisie veuillez vérifier vos modification et recommencer");
    		}
    ce bout de code et pour la mise a jour de fichier d'une base de donées que je modifie

    si cela t'aide

    bon courage

  7. #7
    Nouveau membre du Club
    Profil pro
    Inscrit en
    novembre 2006
    Messages
    45
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : novembre 2006
    Messages : 45
    Points : 34
    Points
    34
    Par défaut
    Merci pour toute ses explications, mais je me demande si c'est vraiment cela le probleme...
    Car je ne modifie pas les donnees je fais que passer d'un form a lautre.
    (premier afficahge des infos dans des labels et deuxieme dans des textbox - SANS MODIFICATION)

    Tu comprends ca que je veux dire?
    Pour l'intant je fais que lire les donnees.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 0
    Dernier message: 02/05/2011, 17h10
  2. [VB.Net][PPC] Synchro SQL 2K/SQL CE avec RDA
    Par anthony70 dans le forum Windows Forms
    Réponses: 2
    Dernier message: 10/08/2006, 16h50
  3. [SQL Server]Erreur d'insertion dans la DB
    Par Dnx dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 26/09/2005, 14h55
  4. [DTS sql server] Erreur lors de l'insertion de trop de ligne
    Par MoTUmBo dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 05/07/2005, 23h44

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo