2010-07-13 3 views
2

En ce qui concerne à cette image: link textaccès Object [] Valeurs en Java

J'ai un objet, 'rezultat', qui a accesseurs. Je veux définir pour l'attribut 'cli' (rezultat.setCli(String .....)), et comme paramètre de chaîne, il devrait être que m_objArray[0], donc 'ADSL22675 ....' de cette image. Expanding m_objArray il y a 19 attributs que je dois définir pour les attributs d'objet 'rezultat'. Mais je ne sais pas comment y accéder.

Array o = ocs.getArray(1); 
Object[] obj = (Object[])o.getArray(); 
rezultat = new ListOfMdfTab(); 
for (int i = 0; i < obj.length; i++) 
{ 
rezultat.setCli ((String)obj[0].<what>?); //i need here that m_objArray[0]. 
} 

'ocs' est un type d'objet OracleCallableStatament, si besoin i Array o = ocs.getArray(1); parce que 1 'indice est le paramètre de sortie qui est un type de complx. S'il vous plaît aider. Merci!

Répondre

1

STRUCT est une classe Oracle qui implémente l'interface java.sql.Struct. Cette interface offre une méthode getAttributes().

Cela vaut la peine d'essayer en appelant cette méthode et en espérant pour le mieux, que le tableau qui est retourné est égal à m_objArray interne.

Dans le code Java:

rezultat.setCli(((java.sql.Struct)obj[0]).getAttributes()[0].toString()); 
+0

A travaillé, merci! – Roger22

+0

@Roger: vous devez alors marquer cette réponse acceptée. Voir aussi http://stackoverflow.com/faq – BalusC

2

Cette déclaration renvoie une chaîne ou lancera une clasCastException si l'objet est pas une chaîne:

(String)obj[0] 

Si vous n'êtes pas sûr si elle est une chaîne vous pouvez utiliser

obj[0].toString() 

OU

String.valueOf(obj[0]) 

qui traitera plus élégante nulls

+0

De l'image OP liée, 'obj [0]' est un 'STRUCT' (quoi que cela signifie). En son sein, il y a un 'Object [] m_objArray' qui contient' String'. Au moins, c'est comme ça que je le lis. – polygenelubricants

+0

J'ai essayé avec obj [0] .toString() et il a retourné oracle.sql.STRUCT. Donc, le type. J'ai besoin des valeurs de m_objArray, ce nœud contient 19 éléments, dont j'ai besoin des valeurs (voir cette image). – Roger22

+0

Oui, vrai: à partir de l'image OP liée, obj [0] est un STRUCT (quoi que cela signifie). À l'intérieur, il y a un Object [] m_objArray qui contient String. Au moins, c'est comme ça que je le lis. Et comment accéder aux valeurs de m_objArray? – Roger22