[ad_1]
こんにちは、MSSQL データ テーブルを XML 形式に変換しようとしたときに問題が発生しました。
しかし、私はできませんでした」
Error: Cannot serialize the DataTable. DataTable name is not set.
Plsは私にアドバイスします
ありがとうございました
マディーン
私が試したこと:
ASP.NET
Public Function ConvertDatatableToXML(ByVal dt As DataTable) As String Dim str As MemoryStream = New MemoryStream() dt.WriteXml(str, True) str.Seek(0, SeekOrigin.Begin) Dim sr As StreamReader = New StreamReader(str) Dim xmlstr As String xmlstr = sr.ReadToEnd() Return (xmlstr) End Function
Private Sub btnSave_Click(sender As Object, e As EventArgs) Handles btnSave.Click Dim dt As DataTable = New DataTable() dt = GetData() Dim XMLstring As String = clsAPI.ConvertDatatableToXML(dt) Me.txtComments.Text = XMLstring End Sub
ASP.NET
Public Function GetData() As DataTable Dim dt As New DataTable Dim adp As New SqlDataAdapter("usp_TR_Data", conn) adp.SelectCommand.CommandType = CommandType.StoredProcedure adp.SelectCommand.CommandTimeout = 150 With adp.SelectCommand.Parameters .Clear() .Add("@Action", SqlDbType.NVarChar).Value = "CONVERT-XML" .Add("@SONo", SqlDbType.NVarChar).Value = Me.txtSONo.Text End With adp.Fill(dt) Return dt End Function
SQL
SQL Query Select [sname],[saddress1],[saddress2],[scity],[spostcode],[sstate], [dairport],[scountry], [detailOfContent],[weight],[productPackages], [dimensionX],[dimensionY],[dimensionZ],[chargeableRate],[rname],[rphone], [raddress1],[raddress2],[rpostcode],[rcity],[rstate],[rairport],[rcountry], [rremark],[rvia],[serviceModeId],[agentId],[trackingno] From TR_Data where SONo=@sono
解決策 1
エラーエラーメッセージを読んでください – それはかなり明白です!
Cannot serialize the DataTable. DataTable name is not set.
だから…設定 DataTable.TableName プロパティ [^] シリアル化する前に:
VB
dt.TableName = "MyTable"
[ad_2]
コメント