我正在尝试使用从我们的 MS SQL 数据库中的存储过程生成的 XML 作为 VS2005 应用程序中的记录集。我遇到的问题是,在将 xml 作为字符串读取时,字符串结果以“System.Byte []”的形式出现。看到这一点,我将数据类型从 String 更改为 Byte() 并尝试使用 Byte 数组。Byte 数组似乎与我想要接收的数据没有任何关系。我想知道是否有一种方法可以处理我不知道的 SQL 生成的 XML 文件。这是一些示例代码。
这是 SQL SMS 中存储过程的结果
使用此代码,我将 System.byte[] 作为我的字符串:
Dim ADOrs As ADODB.Recordset
Dim SQLString1 As New System.Text.StringBuilder(180)
Dim catzzz as String
SQLString1.Append("exec reports_selectReportMetaData @companyCode = '001'")
ADOrs = fnReturnRecordset(SQLString1.ToString) 'function executes the query
Do While Not ADOrs.EOF
catzzz = ADOrs("XML_F52E2B61-18A1-11d1-B105-00805F49916B").Value.ToString
Debug.WriteLine(catzzz)
Loop
这就是我得到真正奇怪的字节数组的方式
Dim ADOrs As ADODB.Recordset
Dim SQLString1 As New System.Text.StringBuilder(180)
Dim catzzz As Byte()
SQLString1.Append("exec reports_selectReportMetaData @companyCode = '001'")
ADOrs = fnReturnRecordset(SQLString1.ToString)'function executes the query
Do While Not ADOrs.EOF
catzzz = ADOrs("XML_F52E2B61-18A1-11d1-B105-00805F49916B").Value
Loop
字节数组看起来像
当使用转换为 ASCII 时
catX = System.Text.Encoding.Default.GetString(catzzz)
前三个字符(应该是<rt
)
所以我认为我的主要问题是我错过了引入在 SQL 中创建的 XML 的正确方法
任何想法都会被应用!