【问题标题】:SQL SELECT INSERTed data from TableSQL SELECT INSERTed 从表中的数据
【发布时间】:2010-06-16 22:13:51
【问题描述】:

它在 ASP Classic 中。 MS-Access 数据库。

我愿意:INSERT INTO Orders (userId) VALUES (123)"

我想从该行检索orderNumber。它是一个自动递增的数字。

所以我做到了:SELECT orderNumber FROM Orders WHERE userId=123

但由于在同一页面上,所以 SELECT 返回:BOF 或 EOF 为 True,或当前记录已被删除。请求的操作需要当前记录。

我在某处看到过RETURNING orderNumber as variable,但它是针对 oracle 的,我不知道如何在我的 asp 中实现它:(

set addOrder = Server.CreateObject("ADODB.Command")
        addOrder.ActiveConnection = MM_KerenDB_STRING
        addOrder.CommandText = "INSERT INTO Orders (userId) VALUES ("&userId&")"
        addOrder.CommandType = 1
        addOrder.CommandTimeout = 0
        addOrder.Prepared = true
        addOrder.Execute()

Dim getOrderNumber
Set getOrderNumber = Server.CreateObject("ADODB.Recordset")
        getOrderNumber.ActiveConnection = MM_KerenDB_STRING
        getOrderNumber.Source = "SELECT orderNumber FROM Orders WHERE userId=" & userId
        getOrderNumber.CursorType = 0
        getOrderNumber.CursorLocation = 2
        getOrderNumber.LockType = 1
        getOrderNumber.Open()

                    session("orderNumber") = getOrderNumber.Fields.Item("orderNumber").value

【问题讨论】:

  • 我们能看到一些你用来实际运行 SQL 语句的 ASP 代码吗?
  • 对不起,我假设(错误)这无关紧要
  • 第一条语句是否真的将数据输入到您的表中?我想确保第一个语句没有问题。那么当您运行页面并收到错误时,您的访问数据库中有数据吗?
  • 您确实应该使用参数化查询,而不是通过串联组装您的 SQL 语句。即,您的 SQL 语句应如下所示:Insert Into Orders(userid) Values(@UserId)。你用的是什么数据库系统?
  • @Thomas 我使用 MS-Access 和 ASP-Classic。我尝试将我的串联更改为@var,但失败了。我只是指出我的变量来自 ASP,而不是 SQL ..

标签: sql select asp-classic insert


【解决方案1】:

如果您使用他们使用 ADO 对象添加记录的方法,以下内容可能会有所帮助。

http://support.microsoft.com/kb/221931

但是如果没有真正看到你的经典 ASP 代码,很难给你一个正确的答案。

【讨论】:

  • 由于某种奇怪的原因,我的代码看起来与您在链接中指出的完全不同.. :/ 我觉得很愚蠢.. 这就是 maccromedia 给我的.. 我能做得更好吗? :)
  • @Noam 在经典 ASP 中有多种处理数据的方法。您可以使用 ADODB.Command 对象插入/删除/更新/选择记录,也可以使用 ADODB.RecordSet 对象执行相同操作。 Macromedia 似乎使用插入命令和选择记录集。请注意,当您使用命令进行选择时,您仍然会返回记录集。
  • 我做了您链接中的内容,并且成功了 :) 因为我一直讨厌 macromedia 为我做这件事,我认为是时候让我真正了解该代码的实际作用了。你能指出我在哪里可以读到它吗?以及命令和记录集之间的区别..
  • @Noam w3schools.com 除了每个 ADO 对象的页面以及它们包含的所有属性和方法之外,还有一些关于 ADO 的好东西。 w3schools.com/ado/default.asp
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-10-24
  • 2023-03-24
  • 1970-01-01
  • 2020-12-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多