在ASP和HTML中使用内部连接
初学者问题。 我有一个数据库文件,其中包含两个表-产品和订单,以及以下SQL:在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
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的选择列表中。