2010-06-16 3 views
0

의 데이터를 ASP 클래식에 INSERT했습니다. MS-Access DB.SQL SELECT 테이블

은 내가 수행 내가 검색하려는 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 
+0

실제로 SQL 문을 실행하는 데 사용하는 ASP 코드를 볼 수 있습니까? –

+0

죄송합니다. 부적절하다고 (WRONG) 가정했습니다. –

+0

첫 번째 문이 실제로 테이블에 데이터를 입력합니까? 첫 번째 문장에 문제가 없는지 확인하고 싶습니다. 따라서 페이지를 실행하고 액세스 데이터베이스에 데이터가 있습니까? –

답변

1

다음은 추가의 자신의 방법을 사용하는 경우 도움이 될 수있는 다음과 같은 ADO 개체를 사용하여 기록.

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

그러나 실제로 당신에게 클래식 ASP 코드를 보지 않고, 당신에게 적절한 대답을하기 어렵다.

+0

내 코드가 링크에서 지적한 것과 완전히 다른 것 같습니다. :/나는 바보 같은 느낌입니다. maccromedia가 준 .. 내가 더 잘할 수 있을까? :) –

+0

@Noam Classic ASP에서 데이터를 사용하는 여러 가지 방법이 있습니다. ADODB.Command 개체를 사용하여 레코드를 삽입/삭제/업데이트/선택하거나 ADODB.RecordSet 개체로 동일한 작업을 수행 할 수 있습니다. Macromedia는 삽입 명령과 선택을위한 레코드 세트를 사용하는 것 같습니다. 명령을 사용하여 선택할 때 레코드 세트를 다시 가져 오는 중입니다. –

+0

나는 당신의 링크에있는 것을했는데, 그것이 효과가 있었기 때문에 나는 항상 나를 위해 그것을하는 매크로 미디어를 싫어하기 때문에, 나는 그 코드가 실제로 무엇을하는지 더 깊이 이해할 수 있다고 생각한다. 내가 어디에서 읽을 수 있는지 가르쳐 줄 수 있니? 그리고 명령과 레코드 집합의 차이점이 있습니다. –