جافا سكريبت - الوصول إلى حقل Datatype Varchar (MAX) في النتائج
-
13-09-2019 - |
سؤال
ضمن تطبيق JavaScript، فإننا نسمي بترجم على SQL Server 2005 الذي يعود نتائج مع 3 أعمدة من النوع: Bigint و Varchar (20) و Varchar (MAX).
عند استدعاء RODOC وقراءة النتائج، لا يوجد استثناء يجري طرحه. عند تعداد النتائج:
var dbConn = DatabaseConnectionFactory.createDatabaseConnection("1","2","3","4");
var myResultSet = dbConn.executeCachedQuery("EXEC MySproc");
dbConn.close();
var myString = myResultSet.getString("MyVarcharMaxField");
عند فحص قيمة myString، فإن القيمة ليست ما أتوقعه:
javax.sql.rowset.serial.SerialClob@15b4206
أي فكرة عن كيفية الحصول على القيمة الحقيقية للحقل؟
استدعاء طريقة أخرى أخرى غير GetString () ربما؟
المحلول
varchar (ماكس) هو طيب (شخصية شخصية شخصية) نوع البيانات. فيما يلي بعض الكود الذي يمكنك استخدامه بالترتيب قراءة محتوياته.
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();
لا تنتمي إلى StackOverflow