2010-08-24 5 views
2

내 웹 응용 프로그램에서 데이터 테이블 (PreparedStatement를 사용하여 DB에서 표시)이 있습니다. 각 행에는 수정 버튼이 있습니다. 양식은 테이블 아래에 있습니다. 편집 버튼을 클릭하면 행의 데이터가 양식에 채워집니다. 그래서 편집하고 저장할 수 있습니다.단일 버튼을 사용하여 두 가지 다른 방법으로 호출하는 방법은 무엇입니까?

또는 양식에 새 데이터를 입력하고 새 행을 추가 할 수 있습니다. 문제는 '저장'버튼입니다. 업데이트 & 삽입에는 다른 쿼리가 필요합니다.

저는 두 가지 다른 메소드를 호출하려고합니다. 이 문제와 관련하여 알려주십시오.

추가 정보 : 웹 페이지는 HTML & Java Script를 사용하여 작성되었습니다. DB를 연결하고 데이터를 얻기 위해 백엔드에서 사용되는 Java.

감사합니다.

+0

죄송하지만, 아직 명확하지 않습니다. 양식에 두 가지 모드가 있도록하려면 숨겨진 입력을 사용하여 다른 'POST'값을 설정하고 백엔드의 값을 확인하십시오. 백엔드에 대해 이야기하고 있다면 우리는 훨씬 더 자세하게 설명 할 필요가 있습니다. 나는 너에게 우리에게 너에게 HTML을 보여주기를 제안한다. – Stephen

답변

4

히든 필드에 편집 된 요소의 ID를 추가 할 수 있습니다. id가 제공되지 않으면 새로운 객체이고, id가 제공되면 편집 작업입니다. 분명히, 엿보기를 방지하기 위해 실제 ID를 해시 ID로 바꿔야합니다.

1

처음에는 편집 버튼을 클릭 한 후 다른 값으로 설정된 숨겨진 입력 필드 만 있으면됩니다. 그런 다음 해당 필드의 값을 확인하고 저장 작업에서 INSERT 또는 UPDATE를 수행 할 수 있습니다.

1

JavaScript 라이브러리를 사용하고 있습니까? JQuery를 사용하는 경우 이벤트를 단추에 쉽게 바인딩하거나 바인딩 해제 할 수 있습니다. 또한 버튼과 같은 컨트롤에 메타 데이터를 첨부하는 데 사용할 수있는 데이터 개념이 있습니다. 숨겨진 필드 대신 버튼 모드 (편집/저장)에 메타 데이터를 사용하십시오.

샘플 코드 : (페이지로드 중에있을 수있는 편집)

$("mybutton").data("mode", "edit"); //data is a dictionary for key/values 
$("mybutton").click(EditFunction); 
1

당신은 데이터베이스 작업에 javax.persistence.* 적절한 프레임 워크를 사용하는 것이 좋습니다.

순수 SQL을 사용하려면 테이블 행의 상태 정보가 있어야합니다. 이미 기본 키가 할당되어 있습니까? 이 키는 데이터베이스에 의해 생성됩니까? 행이 데이터베이스에 이미 존재하므로 메소드가 UPDATE 문을 생성 할 수 있습니다. 키가 할당되지 않은 경우 INSERT을 사용하십시오.

또 다른 좋은 아이디어는 데이터를 표시하는 데 사용되는 간단한 Java Beans로 쿼리 결과를 캡슐화하는 것입니다. 간단한 개체를 사용하면 추가 데이터와 정보를 저장하고 처리 할 수 ​​있습니다. 적절한 SQL 문을 생성 할 때 조용하게 사용할 수 있습니다.

0

또는 새 데이터를 형태로 입력하고 새 행을 추가 할 수 있습니다. 문제는 '저장'버튼입니다. & 업데이트를 삽입하려면 개의 서로 다른 쿼리가 필요합니다.

동일한 검색어를 사용하여 삽입 할 수 없습니다. & 업데이트 ???

+0

그게 가능합니까? 의미가 있다면 여기에서 설명하십시오.Thanks –

+0

PLSQL은 트릭을 수행하는 MERGE 쿼리를 알고 있습니다. 어쩌면 다른 데이터베이스일까요? –

관련 문제