본문 바로가기
Android

[Android/Java] EditText 게시글 DB에 저장(Update)

by noddu 2022. 2. 2.
728x90
반응형

 

String content = intent.getStringExtra("userBoard_content").replaceAll("(\\\\n)", "\n");
        userBoard_content.setText(content);

 

 

intent로 받아와 TextView에 setText한 content가 있다

 

 

        btn_add.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                String test1 = userBoard_content.getText().toString();
                Log.d("수정content",test1);
            }
        });

버튼을 눌렀을때 log를 찍어봤다

 

추가한 zzz가 포함되어 잘 출력된다.

 

 


 

	public int add_content(String add_content) {
		String SQL = "Update Board set board_content = ?";
		try {
			PreparedStatement pstmt = conn.prepareStatement(SQL);
			pstmt.setString(1, add_content);
			return pstmt.executeUpdate();
		} catch (Exception e) {
			// TODO: handle exception
			e.printStackTrace();
		}
		return -1;
	}

DAO에서 Update 쿼리문을 만들고

 

request.setCharacterEncoding("UTF-8");
String add_content = request.getParameter("add_content");

BoardDAO boardDAO = new BoardDAO();
int result = boardDAO.add_content(add_content);
%>
<%=result%>

jsp파일을 하나 만들어 DAO에서 만든 addcontent함수를 불러온다

 

 


 

public class AnswerRequest extends StringRequest {
    // 서버 URL 설정 (JSP)
    final static private String URL = "http://IP주소/Board_addContent.jsp";
    private Map<String, String> map;


    public AnswerRequest(String add_content, Response.Listener<String> listener) {
        super(Request.Method.POST, URL, listener, null);

        map = new HashMap<>();
        map.put("add_content",add_content);
    }

    @Override
    protected Map<String, String> getParams() throws AuthFailureError {
        return map;
    }
}

방금 만든 jsp로 보낼 Request 파일을 만들어 작성하고

 

 

 

tn_add.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View view) {
        String add_content = userBoard_content.getText().toString();
        Log.d("수정content",add_content);

        Response.Listener<String> responseListener = new Response.Listener<String>() {

            @Override
            public void onResponse(String response) {

                try {
                        Log.d("response_content = " ,response);
                } catch (Exception e) {
                    e.printStackTrace();
                }
            }
        };
        AnswerRequest answerRequest = new AnswerRequest(add_content, responseListener);
        RequestQueue queue = Volley.newRequestQueue(AnswerActivity.this);
        queue.add(answerRequest);

    }
});

Activity에서 add버튼을 눌렀을때 OnResponse가 작동하게 했다

 

 

Log에서 response값이 3??? ( 게시글 모두( 3개 )를 바꿔버렸다...)

 

 

 


 

 

		String SQL = "Update Board set board_content = ? WHERE board_no = ?";
                Log.d("수정content",add_content+board_no);

모든곳에 board_no를 추가해서 다시 실행했더니

 

 

 

response( return값 )= 1이 잘 출력되고 게시글 하나만 update됐다!!

 

 

 

반응형