由ID链接的多个表

问题描述 投票:0回答:2

我必须编写一个连接到1个数据库的ASP页面,然后查询两个表,其中包含标题详细信息,然后查询第二个包含订单行的表,每个表都有一个ORDER_NUMNER。

这些表包含我需要打印到HTML页面的销售订单,任何有关这方面的帮助都会很好,因为ASP不是我的主要语言。

asp-classic
2个回答
1
投票

一般来说:

实例化并打开您的数据库连接:(有关更多信息,请访问www.connectionstrings.com)

dim conn
conn.open "your connection string goes here"

打开主表和详细信息表的记录集:

dim rst
rst.open "select * from tblMaster left join tblDetail on tblMaster.ORDER_NUMBER = tblDetail.ORDER_NUMBER where ORDER_NUMBER = 4",conn,1,3

退出那里没有记录

if rst.eof then
   rst.close
   conn.close
   Response.end
end if

打印标题信息(对于字段order_date,order_number和order_company:

response.write "Company: " & rst.fields("order_company") & "<br>"
response.write "Date: " & rst.fields("order_date") & "<br>"
response.write "Order Number: " & rst.fields("order_number") & "<br>"

循环记录,从详细信息表中读取所有记录:(对于字段item_desc,item_qty,item_cost)

while not rst.eof
    response.write "Item: " & rst.fields("item_desc") & "<br>"
    response.write "Qty: " & rst.fields("item_qty") & "<br>"
    response.write "Cost: " & rst.fields("item_cost") & "<br>"
    rst.MoveNext
wend

关闭记录集

rst.close

关闭连接

conn.close

0
投票
<%
    Set objConn = Server.CreateObject("ADODB.Connection")
        objConn.Mode = 3      
        objConn.Open "driver definition and connection string"

        SQLStrJ = "SELECT * FROM table1 t1 JOIN table2 t2 ON t1.ORDER_NUMBER=t2.ORDERNUMBER;"

        Set objRS = Server.CreateObject("ADODB.Recordset")
        objRS.Open SQLStrJ, objConn, 1, 3

Do Until objRS.EOF = True %>
  <html><%=objRs("field")%></html>
<%
  objRs.MoveNext
Loop
%>

您将在循环中看到将字段数据放入HTML的示例。您可能希望将连接和记录集定义放在一个可包含的函数中,您可以将SQL字符串传递给它,因为您将大量使用它。并且不要忘记在完成后关闭连接。祝你好运..经典ASP有点乱。

© www.soinside.com 2019 - 2024. All rights reserved.