2009-04-23 5 views
1

Dans une application javascript, nous appelons un sproc sur SQL Server 2005 qui renvoie un jeu de résultats avec 3 colonnes de type: bigint, varchar (20) et varchar (MAX).javascript - accès à un champ de type de données varchar (max) dans le jeu de résultats

Lors de l'appel du sproc et de la lecture des résultats, aucune exception n'est levée. Lorsque l'énumération ResultSet:

var dbConn = DatabaseConnectionFactory.createDatabaseConnection("1","2","3","4");  
var myResultSet = dbConn.executeCachedQuery("EXEC MySproc"); 
dbConn.close(); 

var myString = myResultSet.getString("MyVarcharMaxField"); 

Lors de l'examen de la valeur de myString, la valeur est ce que je pense:

[email protected] 

Toute idée comment obtenir la valeur réelle du champ?

Appel d'une autre méthode que getString() peut-être?

Répondre

2

Varchar (MAX) est un type de données CLOB (caractère grand objet). Voici un code que vous pouvez utiliser pour lire son contenu.

var clobField = myResultSet.getClob("MyVarcharMaxField"); 
var strOut = new java.lang.StringBuffer(); 
var aux = new java.lang.String(); 

// RTF data conversion 

var kit = new Packages.javax.swing.text.rtf.RTFEditorKit(); 
var doc = new Packages.javax.swing.text.DefaultStyledDocument(); 
kit.read(clobField.getAsciiStream(), doc, 0); 

var text = doc.getText(0, doc.getLength()); 
var myString = text.toString(); 
Questions connexes