2014-09-15 5 views
0

oracle apex forms에 문제가 있습니다.oracle apex 형식으로 두 개 이상의 레코드를 넣는 방법은 무엇입니까?

문제는 1 개 이상의 레코드를 동시에 하나의 양식에 추가하려고합니다. 나는 이미 그것을 할 수있는 가장 좋은 방법은 csv 파일을 사용하는 것입니다하지만 그 다음에는 튜토리얼이 없다는 것을 읽었습니다.

+0

질문을 이해할 수 없습니다. 너 뭐하려고? 사용자가 양식을 작성하고 제출 한 후에 특정 표에 둘 이상의 행을 삽입합니까? –

+0

나는 csv 파일 또는 텍스트 파일 –

+0

Rahul의 형태로 양식에 둘 이상의 레코드를 추가하려고합니다. 양식에 레코드가 없습니다. 따라서 양식에 레코드를 추가 할 수 없습니다. 그러나 양식을 사용하여 하나 이상의 레코드를 테이블에 삽입하거나 테이블에서 다른 작업을 수행하는 데 사용하는 데이터를 수집 할 수 있습니다. 질문을 확대하고 목표를보다 명확하게 설명하며 어떤 시점에서 왜 당신이 붙어 있는지 설명하십시오. 바라건대 우리는 그 시점에서 더 멀리 당신을 도울 수 있습니다. –

답변

0

오라클은 데이터베이스이며 데이터베이스와 파일을 결합하는 것은 항상 까다로울뿐만 아니라 명백한 이유 때문에 광범위하게 지원되지 않습니다. 파일을 저장하고 다운로드하여 프리젠 테이션하는 것이 한 가지입니다. Oracle 데이터베이스를 통해 파일을 열고 내용을 읽고 처리하는 방법도 있습니다. 가능한 것은 확실하지만 특히 Apex 응용 프로그램과 결합하면 보안 제한과 같은 많은 문제를 겪게 될 것입니다.

그러나 파일에서 벗어나지 않아도 반드시 CSV에서 멀어지는 것은 아닙니다. 사용자가 큰 CSV 문자열을 복사하여 붙여 넣을 수있는 큰 텍스트 입력을 페이지에 제공 할 수 있습니다. 그런 다음 데이터베이스에서 제출하고 처리 할 수 ​​있습니다. 이렇게하려면 페이지를 제출 한 후 해고 될 프로세스를 만들어야합니다. 이 프로세스에서 CSV 데이터를 구문 분석하고 테이블에 여러 행을 삽입 할 수 있습니다. XML이나 JSON 같은 것들도 마찬가지입니다.

그러나이 CSV를 누가 생성합니까? 사용자가 CSV를 구성하도록 요구하는 것은 사용자에게 친숙하지 않습니다. 복잡하고 오류가 발생할 수 있습니다. CSV가 다른 응용 프로그램에서 생성 된 경우 Apex를 우회하여 CSV를 데이터베이스에 직접 전달할 수있는 방법이 없습니까?

설명을 읽지 못하는 단일 텍스트 기반 데이터 매체가 필요하지 않은 경우 단순히 양식을 보관하지 않고 사용자가 여러 양식을 제출하도록 허용하는 것이 어떻습니까? 제출 당 하나의 레코드를 삽입하고 나중에 이러한 레코드를 쿼리하고 한 번에 하나씩 서식을 시작하는 배치를 사용하는 것으로 충분합니까?

사용자가 각 컴퓨터의 페이지를 제출하지 않고도 여러 컴퓨터를 입력 할 수있게하려면이 방법도 가능하지만 표준 Apex 기능을 그대로두고 더 많은 사용자 지정 javascript를 구현해야합니다. PL/SQL 기능. Apex는 고정 된 양의 페이지 항목 만 허용하므로 디자인 시간을 정의해야합니다. 따라서 텍스트 상자 및 목록을 페이지에 동적으로 추가하려면 자바 스크립트를 사용해야합니다. 페이지로드시 한 행의 입력 필드를 렌더링하는 영역을 정의하고 '다른 행 추가'를 나타내는 링크를 작성하면 기존 행 아래 입력 필드의 새 행을 렌더링 한 다음이를 반복 할 수 있습니다 사용자가 필요로하는 시간. UI가 필요합니다. 이제 사용자가 원하는 모든 데이터를 입력하면이 데이터를 모두 제출하여 데이터베이스로 가져와야합니다. 그래서 예,이 시점에서 우리는 아마도이 모든 데이터를 입력 필드에서 가져와 하나의 단일 문자열로 변환해야 할 것입니다. 이것은 모두 자바 스크립트 코드에서 클라이언트 측에서 수행되어야합니다. 그런 다음 Apex 페이지 항목 API를 사용하여 $ x (...) 또는 $ v (...) 함수를 사용하여 생성 된 문자열을 단일 페이지 항목에 할당 할 수 있습니다. 그런 다음 페이지를 제출하면 페이지 프로세스가 실행됩니다. 그런 다음 페이지 항목의 데이터를 구문 분석 할 페이지 프로세스를 정의하고 해당 데이터를 사용하여 데이터베이스에 여러 행을 삽입하십시오.

관련 문제