Order Importer - Retrive Orders Page |
<%@ Page Language="VB" %> <%@ Import Namespace="System.Data" %> <%@ Import Namespace="System.Data.OleDb" %>
<script runat="server">
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Dim Da As OleDbDataAdapter
'create dataset and set its namespace Dim DsOrders As New DataSet("DsOrders") DsOrders.Namespace = "http://www.tempuri.org/DsOrderInfo.xsd"
'connect to database Dim Conn As New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Request.PhysicalApplicationPath & "\DemoData\SageDemoData.mdb;Persist Security Info=False") Conn.Open()
'get customer records Da = New OleDbDataAdapter("SELECT * FROM Customers WHERE CustomerID IN(SELECT DISTINCT CustomerID FROM Orders WHERE ExportedToSage=0)", Conn) Da.Fill(DsOrders, "Customers")
'get order records Da = New OleDbDataAdapter("SELECT * FROM Orders WHERE ExportedToSage=0", Conn) Da.Fill(DsOrders, "Orders")
'get order item records Da = New OleDbDataAdapter("SELECT * FROM OrderItems WHERE OrderID IN(SELECT DISTINCT OrderID FROM Orders WHERE ExportedToSage=0)", Conn) Da.Fill(DsOrders, "OrderItems")
'disconnect from database Conn.Close()
'clear any response data prior to outputing any XML Response.Clear()
'begin outputing XML Response.Write("<?xml version=""1.0"" standalone=""yes"" ?>" & vbCrLf) Response.Write("<DsOrders xmlns=""http://www.tempuri.org/DsOrderInfo.xsd"">" & vbCrLf)
For Each Dr As DataRow In DsOrders.Tables("Customers").Rows Response.Write(vbTab & "<Customers>" & vbCrLf)
'Required Fields AddFieldToXML("CustomerID", Dr("CustomerID")) AddFieldToXML("ContactName", Dr("ContactName")) AddFieldToXML("Address1", Dr("Address1")) AddFieldToXML("Town", Dr("City"))
'Optional Fields (Used) AddFieldToXML("CompanyName", Dr("Company")) AddFieldToXML("Address2", Dr("Address2")) AddFieldToXML("County", Dr("County")) AddFieldToXML("PostCode", Dr("PostCode")) AddFieldToXML("Telephone", Dr("Tel")) AddFieldToXML("Fax", Dr("Fax")) AddFieldToXML("VatNumber", Dr("VATNumber")) AddFieldToXML("CountryCode", Dr("CountryCode"))
'Optional Fields (Not Used) 'AddFieldToXML("EmailAddress", Dr("Type Field Name"))
Response.Write(vbTab & "</Customers>" & vbCrLf) Next
'output orders XML For Each Dr As DataRow In DsOrders.Tables("Orders").Rows Response.Write(vbTab & "<Orders>" & vbCrLf)
'Required Fields AddFieldToXML("CustomerID", Dr("CustomerID")) AddFieldToXML("OrderID", Dr("OrderID")) AddFieldToXML("OrderDate", Dr("OrderDate"))
'Optional Fields (Used) AddFieldToXML("DelContactName", Dr("DelContactName")) AddFieldToXML("DelCompany", Dr("DelCompany")) AddFieldToXML("DelAddress1", Dr("DelAddress1")) AddFieldToXML("DelAddress2", Dr("DelAddress2")) AddFieldToXML("DelTown", Dr("City")) AddFieldToXML("DelCounty", Dr("County")) AddFieldToXML("DelPostCode", Dr("PostCode"))
'Optional Fields (Not Used) 'AddFieldToXML("Carriage", Dr("Type Field Name")) 'AddFieldToXML("CarriageTaxCode", Dr("Type Field Name")) 'AddFieldToXML("CcAuthCode", Dr("Type Field Name")) 'AddFieldToXML("CcCardType", Dr("Type Field Name")) 'AddFieldToXML("CcIssueNo", Dr("Type Field Name")) 'AddFieldToXML("CcNameOnCard", Dr("Type Field Name")) 'AddFieldToXML("CcNumber", Dr("Type Field Name")) 'AddFieldToXML("CcValidFrom", Dr("Type Field Name")) 'AddFieldToXML("CcValidTo", Dr("Type Field Name")) 'AddFieldToXML("DelCountry", Dr("Type Field Name"))
Response.Write(vbTab & "</Orders>" & vbCrLf) Next
'output order items XML For Each Dr As DataRow In DsOrders.Tables("OrderItems").Rows Response.Write(vbTab & "<OrderItems>" & vbCrLf)
'Required Fields AddFieldToXML("OrderID", Dr("OrderID")) AddFieldToXML("Description", Dr("Description")) AddFieldToXML("Price", Dr("Price")) AddFieldToXML("ProductCode", Dr("PartNo")) AddFieldToXML("Quantity", Dr("Qty"))
'Optional Fields (Not Used) 'AddFieldToXML("TaxCode", Dr("Type Field Name"))
Response.Write(vbTab & "</OrderItems>" & vbCrLf) Next
'finish outputing XML Response.Write("</DsOrders>")
'End the response stream here to ensure nothing is send after the XML data. Response.End() End Sub
Sub AddFieldToXML(ByVal FieldName As String, ByVal Value As Object) If Not Value Is DBNull.Value Then Response.Write(vbTab & vbTab & "<" & FieldName & ">" & Value.ToString().Replace("&", "&") & "</" & FieldName & ">" & vbCrLf) End If End Sub
</script>
|