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)
最初の 3 文字 (それは である必要があります<rt
)
したがって、私の主な問題は、SQL で作成された XML を取り込む適切な方法がないことだと思います
どんなアイデアも適用されます!