有点奇怪。我在数据库中有一个表,该表存储另一个表中记录的 ID。我需要检索并以某种方式存储来自 table1 的信息。
信息:产品、图像 ID、数量
所以Image ID就是table2中记录的ID。然后我将使用它来获取该记录。通过该记录,我将找到图像的保存位置,并将图像写入文档的次数与存储在该产品的数量值中的次数相同。
希望你明白我需要这个工作。这是一些示例数据。
-Product 1-
Product -> "KR"
Image ID -> 772
Quantity -> 2
-Product 2-
Product -> "KR"
Image ID -> 774
Quantity -> 5
-Product 3-
Product -> "LR"
Image ID -> 776
Quantity -> 1
现在使用上述数据,使用 Image ID 作为行唯一 ID 从 table2 获取数据并存储保存位置。
这是我目前正在尝试的,但它似乎不起作用。
<!--#include virtual="nightclub_photography\asp\functions.asp"-->
<%
'Connect to database
set conn=Server.CreateObject("ADODB.Connection")
conn.Provider="Microsoft.ACE.OLEDB.12.0"
conn.Open Server.MapPath("/nightclub_photography/data/database/jamsnaps.mdb")
'Get the current date
today = ISODate(Request.Cookies("sdate") & " 00:00:00")
'Query the database for sales
sql = "SELECT * FROM sales WHERE DATEVALUE(saleDate) = " & today & " AND printed = 0 ORDER BY product"
Set rs = conn.Execute(sql)
Set sales = Server.CreateObject("Scripting.Dictionary")
if rs.EOF then
response.write "No sales found!"
else
do until rs.EOF
'response.write rs("product")&":"&rs("quantity")&", "
if sales.Exists(rs("product")) then
sales.Item("product") = ","&rs("jpgId")&":"&rs("quantity")
else
sales.Add rs("product"), rs("jpgId")&":"&rs("quantity")
end if
'Move to next sale
rs.MoveNext
loop
end if
rs.close
conn.close
%>
更新 1 出现错误,现在稍微简化一下,只是想让它先得到一些结果。
错误:
Type mismatch in expression.
询问:
sql = "SELECT * FROM images WHERE ID IN (SELECT jpgId FROM sales WHERE printed = 0)"
因此,使用编号为“2”的行中的 jpgId。将返回标有“1”的具有相同 ID 的行。它将为每个销售行执行此操作。