2009-04-23 23 views
1

在一個JavaScript應用程序中,我們調用SQL Server 2005上的一個存儲過程,它返回一個帶有3列類型的結果集:bigint,varchar(20)和varchar (MAX)。javascript - 在結果集中訪問數據類型varchar(max)的字段

調用sproc並讀取結果時,不會引發異常。當枚舉結果集:

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

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

當檢查MyString的值,這個值是不是我所期望:

[email protected] 

任何想法如何獲取字段的實際價值?

調用除getString()以外的其他方法可能嗎?

回答

2

Varchar(MAX)CLOB(字符大對象)數據類型。這裏有一些代碼可以用來閱讀它的內容。

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(); 
相關問題