sql_buf 값을 표준 출력으로 일단 보이게 해서
그것을 긁어다가 psql에서 실행시켜보세요.
sprintf 함수 호출 다음에, sql_buf 변수에 과연
어떤 문자열이 저장되어지는지가 저도 궁금해지네요. ^.^
sequence 는 한번의 insert 쿼리가 실행될 때 마다
숫자가 증가합니다.
비록 그 구분에 오류가 있어 데이터가 입력되지 않는다하더라도 말입니다.
저도 처음에는 이해가 되질 않았는데,
조금만 깊게 생각해보신다면,
당연히 그렇게 해야하는 것이라도 생각을 하실겝니다.
>>초보자 님께서 쓰시길<<
:: DB 권한 부여 제대로 하고, 프로그램을 여러개 짜는 중인데,
:: INSERT가 안됩니다.
:: 프로그램 내에서의 명령은 먹지 않고,
:: psql 로 들어가서 insert명령을 직접 써주면 실행이 됩니다.
::
:: 당최 알 수가 없군요.
:: 소스 중,,
::
:: memset(sql_buf, 0x00, sizeof(sql_buf));
:: sprintf(sql_buf,"INSERT INTO connecteduser "
:: "(userid, username) "
:: "values "
:: "(8,'kkk')");
::
:: res = PQexec(conn, sql_buf);
::
:: if (PQresultStatus(res) != PGRES_COMMAND_OK) {
:: printf("ERROR %s\n", PQerrorMessage(conn));
:: PQclear(res);
:: PQfinish(conn);
:: rtn = CHECKID_UNKNOWNERROR;
:: return(rtn);
:: }
::
:: PQclear(res);
::
:: 이렇게하면, ERROR메시지쪽으로 들어가지도 않아서, 정상적으로 되었는줄
:: 알고 DB를 select해보면 입력이 안되어 있습니다.
:: 그리고, 시스템 내부에서 number를 자동증가시키는 컬럼을 만들어놨는데,
:: 이 컬럼은 계속 번호가 증가합니다.
:: insert를 시도한 횟수만큼 증가를 합니다.
::
:: 좀 알려주셨으면 감사하겠습니다.....
::
::
|