0

テキスト ボックスにユーザー番号を入力し、送信ボタンをクリックすると、入力した番号を検索してその行情報を表示するデータベースに移動するプログラムを実行しています。十分に単純です。問題は、Xml.XmlDataDocument() が廃止されたというエラーが表示され続けることです。この問題をグーグルで検索した結果、ここにたどり着きましたが、提案された代替品は私のプログラム内では機能しません。また、私は VB を勉強したことがなく、これは XML クラス用です。コードにエラーがないか再確認しましたが、何も表示されません。しかし、私は木のために森が恋しいかもしれません。別の人に私のコードを見てもらい、何か見落としがないか確認するか、Xml.XmlDataDocument() 行の代わりを提供してもらいたいです。あなたが提供できる助けを前もって感謝します。

私が使用しているコードは次のとおりです。

onClick イベントの Javascript

<script language="javascript" type="text/javascript">

        function btnSearch_onclick() {
            var docSubmit = new ActiveXObject("MSXML2.DOMDocument");
            docSubmit.loadXML("<?xml version='1.0'?><request><customerID>" + txtCustID.value + "</customerID></request>")


            var objSocket = new ActiveXObject("MSXML2.XMLHTTP");
            objSocket.open("POST", "Lookup.aspx", false)
            objSocket.send(docSubmit)
            alert(objSocket.responseXML.xml)

            lblFirstName.innerHTML = objSocket.responseXML.selectSingleNode("//FirstName").firstChild.nodeValue
            lblLastName.innerHTML = objSocket.responseXML.selectSingleNode("//LastName").firstChild.nodeValue
            lblAddress.innerHTML = objSocket.responseXML.selectSingleNode("//Address").firstChild.nodeValue
            lblCity.innerHTML = objSocket.responseXML.selectSingleNode("//City").firstChild.nodeValue
            lblState.innerHTML = objSocket.responseXML.selectSingleNode("//State").firstChild.nodeValue
            lblZip.innerHTML = objSocket.responseXML.selectSingleNode("//Zip").firstChild.nodeValue

        }
    </script>

そして、ここにVBコードがあります:

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        Dim docReceived As New System.Xml.XmlDataDocument()
        docReceived.Load(Request.InputStream)

        Dim CustomerID = docReceived.SelectSingleNode("//customerID").FirstChild.Value

        Dim myConnection As New System.Data.OleDb.OleDbConnection
        Dim myConnectionString As String
        myConnectionString = "Provider = Microsoft.Jet.OLEDB.4.0;Data Source = " & _
        Server.MapPath("customer.mbd")
        myConnection.ConnectionString = myConnectionString

        Dim strSQL As String
        strSQL = "Select * From CustomerInfo where CustomerID = " & CustomerID

        Dim myAdapter As New System.Data.OleDb.OleDbDataAdapter(strSQL, myConnection)

        Dim myDataSet As New System.Data.DataSet("CustomerInfo")

        Dim intRecords As Integer
        intRecords = myAdapter.Fill(myDataSet, "Customer")

        Response.ContentType = "text/xml"

        If intRecords > 0 Then
            myDataSet.WriteXml(Response.OutputStream)
        Else
            Response.Write("<?xml version='1.0'?><customer><FirstName>Not Found</FirstName><LastName>***</LastName><Address>***</Address><City>***</City><State>***</State><Zip>***</Zip><Phone>***</Phone><Email>***</Email></customer>")
        End If

        myDataSet.WriteXml(Response.OutputStream)

        myConnection.Close()
        myAdapter.Dispose()
        myConnection.Dispose()

    End Sub
4

1 に答える 1

0

XmlDataSetは廃止されました。msdnでわかるように、.NET Frameworkの次のバージョンで削除される可能性もあります([ObsoleteAttribute( "XmlDataDocumentクラスは将来のリリースで削除されます。")])。あなたの場合、私はあなたがそれを全く必要としないと思います。簡単な修正は、XmlDocumentだけを使用することのようです。コード内で他に何も変更する必要はないと思いますが、この行

Dim docReceived As New System.Xml.XmlDataDocument()

に:

Dim docReceived As New System.Xml.XmlDocument()

于 2012-12-07T17:34:17.003 に答える