gpt4 book ai didi

c - libpq-fe.h 和 c 程序关闭

转载 作者:太空宇宙 更新时间:2023-11-04 02:16:57 25 4
gpt4 key购买 nike

我在与 postgresql 上的本地主机数据库连接的 C 程序中遇到问题。代码看起来类似于:

#include <stdio.h>
#include <libpq-fe.h>

int main() {

int dane;
PGconn *dbh; // definujemy uchwyt do bazy – jest to specjalna zmienna pamiętająca
PGresult *wynik ; //wskaźnik do struktury przechowującej wynik zapytania

dbh = PQconnectdb("dbname=lab1 user=postgres");
// teraz sprawdźmy statud połączenia:
if (PQstatus(dbh) == CONNECTION_OK)
{

printf("Jest polaczenie z baza \n");
// tu będziemy wpisywali całą obsluge bazy danych
wynik = PQexec(dbh,"INSERT INTO osoba(imie,nazw) VALUES('Jan','Kowalski')");
// wyswietlmy status z serwera
//printf(„%s\n”,PQresStatus(wynik));

switch(PQresultStatus(wynik))
{
case PGRES_TUPLES_OK:
// jeśli zapytanie zwroci dane to tutaj je sprawdzimy
break;
case PGRES_COMMAND_OK:
// nie ma danych
printf("Zapytanie sie powiodlo \n");
break;
case PGRES_EMPTY_QUERY:
printf ("Serwer nie mial nic do roboty , moze blad ?\n");
break;
case PGRES_NONFATAL_ERROR:
printf("Blad niekrytyczny, sprobuj ponowic zapytanie\n");
break;
case PGRES_FATAL_ERROR:
default:
printf("Blad krytyczny \n");
// wyswietlmy status bledu
printf("%s\n",PQresultErrorMessage(wynik));
}

// wyczyscmy wynik o ile jest
PQclear(wynik);
// teraz rozłączmy sie z bazą
PQfinish(dbh);

} else { printf("No connection..\n"); }

getch();
return 0;

}

当我运行这个程序时,它会在没有任何提示的情况下自动关闭。我无法用任何东西来阻止它,比如 getch()、getchar() 或 system("PAUSE")。当我删除变量声明上面的所有内容时,程序运行正常。有什么问题?

最佳答案

所需的 DLL 都位于 postgresql 安装的 bin 文件夹中。通常是 c:\program files\postgresql\9.0\bin

这些 DLL 必须位于搜索路径中或与您的可执行文件位于同一文件夹中。相关的 DLL 是:COMERR32.DLL、GSSAPI32.DLL、K5SPRT32.DLL、KRB5_32.DLL、LIBEAY32.DLL、LIBICONV2.DLL、LIBINTL3.DLL、LIBPQ.DLL 和 SSLEAY32.DLL。

关于c - libpq-fe.h 和 c 程序关闭,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6192669/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com