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 :

[C#] Select avec AVG avec Oracle 10g


Sujet :

Windows Forms

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2002
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2002
    Messages : 43
    Par défaut [C#] Select avec AVG avec Oracle 10g
    Bonjour,

    J'ai un problème avec :
    Select distinct v1,v2, AVG(poids) from ...
    Where .. Group By V1,V2

    Quand je le fait sous sql/plus sur le serveur Oracle : ok ça marche
    Quand je le fais avec le client SQL*PLUS Relaese8.1.7.0.0 : ok ça marche
    Quand je le fais à partir de mon application sous Visual Studio 2005 : ça ne marche pas

    Déjà fait dans une application C++Buider V6 avec même version de SQL*Client et même version du serveur Oracle 10g et ça marche.

    Même remarque pour STTDEV (écart type)

    COUNT, MIN, MAX : ça marche

    Merci d'avance
    MCB

  2. #2
    Membre très actif Avatar de fally
    Homme Profil pro
    Développeur .Net / BI
    Inscrit en
    Novembre 2007
    Messages
    966
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Bénin

    Informations professionnelles :
    Activité : Développeur .Net / BI

    Informations forums :
    Inscription : Novembre 2007
    Messages : 966
    Par défaut
    "ca marche pas" est général pour toutes les erreurs. Mais pour t'aider, nous devons savoir quelle erreur c'est et si possible du code aussi à l'appui

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2002
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2002
    Messages : 43
    Par défaut
    L'erreur est OCI-22053 Erreur de dépassement\n ....

    1) Erreur quand j'essaie de rattacher mon select à un DataSource d'un DataGridView
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
     try
                {
                    //on attribue la commande de sélection au DataAdapter
                    bdAdapter.SelectCommand = bdCommand;
                    //on remplit le dataset				
                    bdAdapter.Fill(ds_gen, nomTable);  // Ca plante ICI
                }
                catch
                {
                    return false;
                }
    Solution pour le moment : j'ajoute to_char(avg(poids),'99999.99') as moyenne

    2) Erreur quand je mets le résultat dans un tableau d'objet :
    J'utilise une classe Oracle faite par un collègue
    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
     
    public override Object[,] SQLResult_in_Array(string SQL)
    {
    	//initialisation des descripteurs d'accès aux données
    	bdCommand=new OracleCommand();
    	bdReader=null;
     
    	//initialisation des variables de dimension
    	attRowNumber=0;
    	attColNumber=0;
     
    	//on récupère le résultat de la requête
    	bdCommand.CommandType=CommandType.Text;
    	bdCommand.CommandText=SQL;
    	bdCommand.Connection=bdConnexion;
    	bdReader=bdCommand.ExecuteReader();
     
    	//on récupère les dimensions du résultat de la requête
    	while(bdReader.Read())	attRowNumber++;
    		attColNumber=bdReader.FieldCount;
     
    	//on vide le descripteur oraReader puisqu'on est arrivé à la fin
    	bdReader=null;
     
    	//puis on crée un tableau d'objet de même dimension
    	Object[,] result=new Object[attRowNumber,attColNumber];
     
    	//enfin on remplit le tableau avec les résultats de la requête
    	try
    	{
    		//on réexecute la requête pour en lire le contenu ce coup-ci
    		bdReader=bdCommand.ExecuteReader();
     
    		for(int row=0;row<attRowNumber;row++)	
    		{
    			//on lit un nouvel enregistrement
    			bdReader.Read();
    //puis on l'affecte au tableau d'objet en utilisant les indices 'row' et 'col'
    			for(int col=0;col<attColNumber;col++)
    			{		
    				//result.SetValue(bdReader.GetValue(col),row,col);   // CA PLANTE ICI
                            result.SetValue(bdReader.GetOracleValue(col), row, col);  // CA MARCHE
    			}
    		}
    	}
    	catch
    	{
    		result=null;	
    	}
    	return result;
    }
    En modifiant bdReader.GetValue par bdReader.GetOracleValue , ça marche

    Merci
    MCB

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2002
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2002
    Messages : 43
    Par défaut
    Finalement j'ai remis bdReader.GetValue à la place de bdReader.GetOracleValue
    car cela met le boxon dans toute mon application. En effet :

    GetValue renvoie {} quand il n'y a pas de valeur
    GetOracleValue renvoie {Null} quand il n'y a pas de valeur

    Si ça peut aider ...
    A+

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

Discussions similaires

  1. Problème avec isqlplus dans oracle 10g R2
    Par karim1010 dans le forum Administration
    Réponses: 3
    Dernier message: 29/05/2010, 20h18
  2. Réponses: 2
    Dernier message: 11/06/2009, 00h44
  3. transférer fichier excel avec onglet dans Oracle 10g
    Par jasbond006 dans le forum Oracle
    Réponses: 3
    Dernier message: 27/03/2009, 18h17
  4. [FORMS6] : Compatibilité avec une Base Oracle 10g
    Par Nargel33 dans le forum Forms
    Réponses: 3
    Dernier message: 08/02/2008, 17h12
  5. Problème avec ma console Oracle 10g
    Par DbLabo dans le forum Administration
    Réponses: 4
    Dernier message: 29/01/2008, 14h57

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