Javascript Xml.XmlDataDocument()过时消息

Javascript Xml.XmlDataDocument()过时消息,javascript,xml,visual-studio-2010,Javascript,Xml,Visual Studio 2010,我正在运行一个简单的程序,在这个程序中,您可以在文本框中输入一个用户号码,单击submit按钮,然后该程序将转到数据库,查找您输入的号码并显示该行信息。很简单。 问题是,我一直得到一个错误,即Xml.XmlDataDocument()已过时。我已经在谷歌上搜索了这个问题,这让我想到了这里,但是建议的替代品在我的程序中不起作用。 另外,我还没有学习VB,这是一个XML类。 我已经仔细检查了我的代码是否有任何错误,但没有看到任何东西。但是,我可能会因为树木而错过森林。我想让另一组人看看我的代码,看看

我正在运行一个简单的程序,在这个程序中,您可以在文本框中输入一个用户号码,单击submit按钮,然后该程序将转到数据库,查找您输入的号码并显示该行信息。很简单。 问题是,我一直得到一个错误,即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>

函数btnSearch_onclick(){
var docSubmit=新的ActiveXObject(“MSXML2.DOMDocument”);
docSubmit.loadXML(“+txtCustID.value+”)
var objSocket=newactivexobject(“MSXML2.XMLHTTP”);
open(“POST”,“Lookup.aspx”,false)
objSocket.send(docSubmit)
警报(objSocket.responseXML.xml)
lblFirstName.innerHTML=objSocket.responseXML.selectSingleNode(“//FirstName”).firstChild.nodeValue
lblLastName.innerHTML=objSocket.responseXML.selectSingleNode(“//LastName”).firstChild.nodeValue
lblAddress.innerHTML=objSocket.responseXML.selectSingleNode(“//地址”).firstChild.nodeValue
lblCity.innerHTML=objSocket.responseXML.selectSingleNode(“//城市”).firstChild.nodeValue
lblState.innerHTML=objSocket.responseXML.selectSingleNode(“//状态”).firstChild.nodeValue
lblZip.innerHTML=objSocket.responseXML.selectSingleNode(“//Zip”).firstChild.nodeValue
}
下面是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
Protected Sub Page_Load(ByVal sender作为对象,ByVal e作为System.EventArgs)处理Me.Load
Dim doc作为新System.Xml.XmlDataDocument()接收
docReceived.Load(Request.InputStream)
Dim CustomerID=docReceived.SelectSingleNode(“//CustomerID”).FirstChild.Value
Dim myConnection作为新的System.Data.OleDb.OleDb连接
Dim myConnectionString作为字符串
myConnectionString=“Provider=Microsoft.Jet.OLEDB.4.0;数据源=“&_
Server.MapPath(“customer.mbd”)
myConnection.ConnectionString=myConnectionString
作为字符串的Dim strSQL
strSQL=“从CustomerInfo中选择*,其中CustomerID=“&CustomerID
Dim myAdapter作为新的System.Data.OleDb.OleDbDataAdapter(strSQL,myConnection)
将myDataSet设置为新的System.Data.DataSet(“CustomerInfo”)
将记录设置为整数
intRecords=myAdapter.Fill(myDataSet,“客户”)
Response.ContentType=“text/xml”
如果intRecords>0,则
myDataSet.WriteXml(Response.OutputStream)
其他的
响应。写入(“未找到****************”)
如果结束
myDataSet.WriteXml(Response.OutputStream)
myConnection.Close()
myAdapter.Dispose()
myConnection.Dispose()
端接头

XmlDataSet已过时。正如您在上看到的,它甚至可能在.NET Framework的下一个版本中被删除([ObsoleteAttribute(“XmlDataDocument类将在将来的版本中被删除”) ).就你而言,我认为你根本不需要它。easies的解决方案似乎只是使用XmlDocument。我相信除了这一行之外,您不必更改代码中的任何其他内容

Dim doc作为新的System.Xml.XmlDataDocument()接收

致:
Dim docReceived As New System.Xml.XmlDocument()。我应该删除数据库然后重新安装吗?我回答了如何在没有“已过时”警告的情况下获得与现有数据库功能相当的数据库。现在,我不知道“不工作”在这里是什么意思。删除数据库似乎不会神奇地解决这个问题。“不工作”意味着当我输入一个数字,比如说“3”,按下提交按钮时,什么都不会发生。不显示任何数据,也不显示任何错误消息。调试器在指定CustomerId变量的行后中断。检查变量是否设置正确(即,您可以看到您传递的值)-我假设是这样,否则您的查询将无效,您将看到异常。然后使用调试器(F10)检查sqluery。复制它并对数据库运行,看看是否有任何结果。如果您不检查数据库中的数据以查看要查看任何结果必须使用的客户Id。使用调试器(F10)查看您应该期望的内容(来自数据集的数据或您编写的字符串)。顺便说一句,连接用户输入而不进行任何验证等可能会导致Sql注入攻击。
Dim docReceived As New System.Xml.XmlDataDocument()
Dim docReceived As New System.Xml.XmlDocument()