PGconn *pc119;
PGresult *res;
pghost = NULL;
pgport = NULL;
pgoptions = NULL;
pgtty = NULL;
dbName = "wboard";
login = "postgres";
pwd = NULL;
pc119 = PQsetdbLogin(pghost, pgport, pgoptions, pgtty, dbName, login, pwd);
if (PQstatus(pc119) == CONNECTION_BAD)
{
printf("'%s'DB의 접속에 실패했습니다.<br>", dbName);
printf("%s", PQerrorMessage(pc119));
exit_nicely(pc119);
}
res = PQexec(pc119, buf);
printf("%s",buf);
if (!res || PQresultStatus(res) != PGRES_COMMAND_OK)
{
printf("저장오류");
PQclear(res);
exit_nicely(pc119);
} 소스중 중요한건 이부분이고요~
//////////////////////////////////////
insert into profile(name, id, password, email, per_num, hp_num, addr_num, home_addr, home_phone, quiz, answer) values('XXX', 'XXXX', '1111', 'XXXX@hanmail.net', 'XXXXXX/1772421', '011/XXX/0865', '121020', '서울특별시 마포구 공덕동 모냐', '02/574/7440', '모냐', '답')저장오류
////////////////
이부분은 결과메시지입니다.
저장오류라는 글이 나오기전까지의 부분을 복사해서 psql에서 직접 명령을 주면...
잘만.. 실행됩니다.
if (PQresultStatus(res) != PGRES_COMMAND_OK)
{
if (PQresultStatus(res)==PGRES_FATAL_ERROR)
{
printf("PGRES_FATAL_ERROR");
}
printf("명령문실패!\n");
PQclear(res);
exit_nicely(pc119);
}
이런식으로 위의 부분을 고치면 PGRES_FATAL_ERROR 로 출력이 됩니다.
조언 부탁드립니다. ㅠ.ㅠ
|