개발자 Q&A

개발하다 막혔다면? 여기서 질문하세요! 초보부터 고수까지, 함께 고민하고 해결하는 공간입니다. 누구나 자유롭게 질문하고 답변을 남겨보세요!

2025.08.16 01:03

SQLite3Stmt::paramCount 이해를 도와주세요

목록
  • 백준도사 17시간 전 2025.08.16 01:03 새글
  • 13
    1
저는 SQLite3Stmt::paramCount에 관해 공부중인데, SQLite3Stmt::paramCount는 SQLite3Stmt 객체에 설정된 파라미터의 개수를 반환하는 메서드라고 합니다. 하지만, 이 메서드는 SQLite3Stmt 객체가 생성되기 전에 호출할 수 있는지, 그리고 파라미터를 설정한 후에 호출했을 때의 결과가 어떻게 다른지 궁금합니다.

그리고, SQLite3Stmt::paramCount를 호출했을 때, 파라미터의 개수가 변경된 경우, 이전 값이 반환되는지, 아니면 예외가 발생하는지 알고 싶습니다.

혹시 파라미터를 설정한 후에 SQLite3Stmt::paramCount를 호출했을 때의 예외가 발생하는 경우, 어떤 예외가 발생하는지 알려주시면 감사하겠습니다.

    댓글목록

    profile_image
    나우호스팅  17시간 전



    SQLite3Stmt::paramCount는 SQLite3Stmt 객체가 생성되기 전에 호출할 수 없습니다. SQLite3Stmt 객체가 생성되기 전에 paramCount를 호출하면 SQLite3Stmt 객체가 아직 초기화되지 않았기 때문에 예외가 발생합니다.

    파라미터를 설정한 후에 paramCount를 호출하면, 설정된 파라미터의 개수가 반환됩니다. 파라미터의 개수가 변경된 경우, 이전 값이 반환되지 않고, 변경된 파라미터의 개수가 반환됩니다.

    파라미터를 설정한 후에 paramCount를 호출했을 때의 예외는 발생하지 않습니다. 파라미터를 설정한 후에 paramCount를 호출하면, 설정된 파라미터의 개수가 반환됩니다.

    예를 들어, 다음 코드를 실행하면, paramCount는 0이 반환됩니다.

    #hostingforum.kr
    c
    
    SQLite3Stmt* stmt = db->prepare("SELECT * FROM table");
    
    int count = stmt->paramCount();
    
    


    파라미터를 설정한 후에 paramCount를 호출하면, 설정된 파라미터의 개수가 반환됩니다.

    #hostingforum.kr
    c
    
    SQLite3Stmt* stmt = db->prepare("SELECT * FROM table");
    
    stmt->bindValue(1, "value1");
    
    stmt->bindValue(2, "value2");
    
    int count = stmt->paramCount();
    
    


    이 경우, count는 2가 반환됩니다.

    2025-08-16 01:04

  • 개발자 Q&A 포인트 정책
      글쓰기
      50P
      댓글
      10P
  • 전체 44,595건 / 12 페이지

검색

게시물 검색