database.sarang.net
UserID
Passwd
Database
DBMS
MySQL
ㆍPostgreSQL
Firebird
Oracle
Informix
Sybase
MS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
PostgreSQL Q&A 88 게시물 읽기
No. 88
소스입니다....
작성자
윤영민
작성일
1999-10-27 10:35
조회수
25,958

계속된 질문에 대한 답변을 해주셔서 정말 감사합니다.

제가 테스트 했던 소스입니다.

Postgres기본 예제를 갖다 사용한 것입니다.

 

#include <stdio.h>

#include "libpq/fe.h"

 

void

exit_nicely(PGconn *conn)

{

PQfinish(conn);

exit(1);

}

 

main()

{

char *pghost,

*pgport,

*pgoptions,

*pgtty;

char *dbName;

int nFields;

int i,

j;

 

/* File *debug; */

 

PGconn *conn;

PGresult *res;

 

/*

* begin, by setting the parameters for a backend connection if the

* parameters are null, then the system will try to use reasonable

* defaults by looking up environment variables or, failing than,

* using hardwired constants

*/

pghost = NULL; /* host name of the backend server */

pgport = NULL; /* port of the backend server */

pgoptions = NULL; /* special options to start up the backend server */

pgtty = NULL; /* debugging tty for the backend server */

dbName = "test1";

 

/* make a connection to the database */

conn = PQsetdb(pghost, pgport, pgoptions, pgtty, dbName);

 

/*

* check to see that the backend connection was successfully made */

if (PQstatus(conn) == CONNECTION_BAD)

{

fprintf(stderr, "Connection to database '%s' failed.\n", dbName);

fprintf(stderr, "%s", PQerrorMessage(conn));

exit_nicely(conn);

}

 

/* debug = fopen("/tmp/trace.out", ""); */

/* PQtrace(conn, debug); */

 

/* start a transaction block */

res = PQexec(conn, "BEGIN");

if (PQresultStatus(res) != PGRES_COMMAND_OK)

{

fprintf(stderr, "BEGIN command failed\n");

PQclear(res);

exit_nicely(conn);

}

 

/*

* should PQclear PGresult it is no longer needed to avoid memory leark

*/

PQclear(res);

/*

* fetch instances from the pg_database, the system catalog of databases

*/

res = PQexec(conn, "DECLARE mycursor CURSOR FOR select * from test");

if (PQresultStatus(res) != PGRES_COMMAND_OK)

{

fprintf(stderr, "DECLARE CURSOR command failed\n");

PQclear(res);

exit_nicely(conn);

}

PQclear(res);

res = PQexec(conn, "FETCH ALL in mycursor");

if (PQresultStatus(res) != PGRES_TUPLES_OK)

{

fprintf(stderr, "FETCH ALL command didn't return tuples properly\n");

PQclear(res);

exit_nicely(conn);

}

printf("Content/type: 'text/html' \n\n");

printf("<html> \n");

printf("<head> \n");

printf("<meta HTTP/EQUIV='Content/Type' CONTENT='text/html'> \n");

printf("<title>테스트</title> \n");

 

printf("</head> \n");

printf("<body bgcolor=yellow>\n");

/* first, print out the attribute names */

nFields = PQnfields(res);

for (i = 0; i < nFields; i++)

{

printf("%/15s", PQfname(res, i));

}

printf("\n\n");

 

/* next, print out the instances */

for (i=0; i < PQntuples(res); i++)

{

for (j=0; j < nFields; j++)

printf("%/15s", PQgetvalue(res, i, j));

printf("\n");

}

PQclear(res);

printf("</body>\n");

printf("</html>\n");

/* close the cursor */

res = PQexec(conn, "CLOSE mycursor");

PQclear(res);

 

/* commit the traction */

res = PQexec(conn, "COMMIT");

PQclear(res);

 

/* close the connection to the database and cleanup */

PQfinish(conn);

 

/* fclose(debug); */

}

 

> > 물론 그렇게도 써보았고

> > <head>

> > <meta HTTP/EQUIV="Content/Type' CONTENT="text/html">

> > </head>

> > 라고도 넣어봤지만 안되네요...

> > 우선 lynx에서 보여야 하는데 계속 깨어지니... 이거야...

> > 난감하네요...

> >

>

> 저가 제시했던 방법은 올바른 방법입니다. 그렇게 했는데도 에러가 난다면

> 뭔가 다른 원인을 찾아 봐야 할 듯 합니다.

> 소스라도 어떻게 올리시던지 아님 메일로라도 보내 보시지요. 저가 도움이

> 될 지는 모르겠지만 한번 살펴 보도록 하지요.

>

[Top]
No.
제목
작성자
작성일
조회
84postgresql의 grant 에 대해서 ... &lt;급&gt;
이태성
1999-10-26
26678
86┕>Re: postgresql의 grant 에 대해서 ... &lt;급&gt;
정재익
1999-10-27 00:22:35
27305
78사진등록하여 사용하는 방법은?
유병훈
1999-10-26
26911
81┕>Re: 사진등록하여 사용하는 방법은?
정재익
1999-10-26 17:50:45
27794
77[급]도와주세요
이미선
1999-10-26
26412
80┕>Re: NT MS SQL을 PostgreSQL로 옮기는 법
정재익
1999-10-26 17:45:56
27208
74Postgress를 Cgi로 연동했을때 Content-type을 어떻게...?
윤영민
1999-10-25
26499
75┕>Re: Postgress를 Cgi로 연동했을때 Content-type을 어떻게...?
정재익
1999-10-25 21:55:55
27523
79 ┕>계속 Internal Server Error가 나와요...
윤영민
1999-10-26 13:57:40
26626
82  ┕>Re: 계속 Internal Server Error가 나와요...
정재익
1999-10-26 17:52:50
26556
83   ┕>Re: Re: 계속 Internal Server Error가 나와요...
윤영민
1999-10-26 18:54:14
26643
87    ┕>Re: Re: Re: 계속 Internal Server Error가 나와요...
정재익
1999-10-27 00:25:08
26668
88     ┕>소스입니다....
윤영민
1999-10-27 10:35:33
25958
91      ┕>Re: Header를 잘못 정의하셨군요.
정재익
1999-10-27 17:45:34
26004
108       ┕>Re: Re: Header를 잘못 정의하셨군요.
윤영민
1999-11-01 16:18:31
28852
109        ┕>Re: Re: Re: Header를 잘못 정의하셨군요.
정재익
1999-11-01 17:47:12
29851
120         ┕>그대로 긁어서 해도 그렇내요...
윤영민
1999-11-04 11:32:38
29944
85  ┕>Re: 계속 Internal Server Error가 나와요...
김종혁
1999-10-26 19:58:58
26895
69alter table A drop B......
김종혁
1999-10-24
27010
72┕>Re: alter table A drop B......
이강훈
1999-10-25 16:22:43
27647
76┕>Re: alter table A drop B......
정재익
1999-10-26 02:29:30
27882
68table 생성한 다음에.....
김종혁
1999-10-24
27074
70┕>Re: table 생성한 다음에.....
한대영
1999-10-25 14:28:36
27908
71┕>Re: table 생성한 다음에.....
한대영
1999-10-25 14:33:26
27639
66DB volume을 생성시킬때 크기를 조정할수는 없나요?
박철휘
1999-10-23
27091
67┕>Re: DB volume을 생성시킬때 크기를 조정할수는 없나요?
정재익
1999-10-24 10:17:31
27799
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2023 DSN, All rights reserved.
작업시간: 0.052초, 이곳 서비스는
	PostgreSQL v16.1로 자료를 관리합니다