Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在ASP和HTML中使用内部连接_Html_Sql_Asp Classic - Fatal编程技术网

在ASP和HTML中使用内部连接

在ASP和HTML中使用内部连接,html,sql,asp-classic,Html,Sql,Asp Classic,初学者问题。 我有一个数据库文件,其中包含两个表-产品和订单,以及以下SQL: SELECT Orders.OrderID, Orders.CustomerName, Products.ProductName, Products.Price FROM Products INNER JOIN Orders ON Products.ProductID=Orders.PIDSelect WHERE Orders.OrderID=1; 它在Access中工作得很好,但ASP失败且混乱 首先,我有一个H

初学者问题。 我有一个数据库文件,其中包含两个表-产品和订单,以及以下SQL:

SELECT Orders.OrderID, Orders.CustomerName, Products.ProductName, Products.Price
FROM Products
INNER JOIN Orders
ON Products.ProductID=Orders.PIDSelect
WHERE Orders.OrderID=1;
它在Access中工作得很好,但ASP失败且混乱

首先,我有一个HTML文件要求输入订单ID,并希望使用ASP生成SQL结果。代码如下:

<%@ Language="JavaScript" %>
<!DOCTYPE html>
<html lang="en">
<head>
        <meta charset="utf-8" />
</head>
<body>
    <%
        var OrderId = Request.Form("OrderId");
        var conn = new ActiveXObject("ADODB.Connection");
        var rs = new ActiveXObject("ADODB.Recordset");
        conn.Open("Provider=Microsoft.Jet.OLEDB.4.0; Data Source='...PATH....mdb'");
        rs.Open("SELECT Orders.OrderID, Orders.CustomerName, Products.ProductName, Products.Price FROM Products INNER JOIN Orders ON Products.ProductID = Orders.PIDSelect WHERE Orders.OrderID = '" + OrderId + "'", conn);
    %>
    
    <table>
            <tr>
                <th>Order ID</th>
                <th>Order Date</th>
                <th>Customer Name</th>
                <th>Product Name</th>
                <th>Price</th>
            </tr>
            <% while (rs.EOF != true) { %>
            <tr>
                <td><%Response.Write(rs("Orders.OrderID")) %></td>
                <td><%Response.Write(rs("Orders.TodayDate")) %></td>
                <td><%Response.Write(rs("Orders.CustomerName")) %></td>
                <td><%Response.Write(rs("Products.ProductName")) %></td>
                <td><%Response.Write(rs("Products.Price")) %></td>
            </tr>
            <% rs.MoveNext();
                } %>
        </table>
    <%
        rs.close();
        conn.close();
    %>
</body>
</html>

订单号
订购日期
客户名称
品名
价格

我不知道如何修改代码。正在寻求帮助,谢谢

是否有理由将ASP转换为Javascript? 你为什么不使用纯ASP?因此,您可以使用err.description捕捉错误。 弗莱克斯是对的:你忘记了订单。今天。 另一个错误可能是,您正在编写
如果两个表中都存在字段名,则只能使用表名

如果您愿意,可以尝试以下方法:



可能有很多原因,例如,您在这里得到了什么值
var OrderId=Request.Form(“OrderId”)?尝试设置固定值,即
var OrderId=1
并查看是否出现相同的错误。阅读有关sql注入的文章,“失败和混乱”并没有给我们太多的机会。“乱码”表示字符问题可能是由于编码不匹配造成的,但这只是我的猜测。你收到错误消息了吗?如果可以,您可以与我们共享吗?
Orders.TodayDate
不在sql的选择列表中。