Конечно понимаю, что код кривой, но как умеем, так и пишим. Проблемма в том, что при добавлении файла, (запрос DPRINT("File %s\n", pquer); выдает нормальный, PostgreSQL отдает то что все олично запрошенно, но почему то сама запись не добавляется. Причем если написать в psql
INSERT INTO files ("B_file", "Name" VALUES ('pivo.txt', 'rules')
То запись добавляется.
Выложил всю функцию, для того, мож за одно что нить покртикуете.
int DB_PutFile(char* name)
{
DPRINT("Connect: %i\nStatus: %i\n",ConnectDB(),DB_Get_Status() );
int lenf = strlen(name);
while(name[--lenf] != '\\' && name[lenf] != '/');
char* file_name = &name[++lenf];
DPRINT("File path: %s\n File name: %s\n", name, file_name);
char* pqfile;
int pqlen;
DPRINT("RUN DB_PutFile\n",1);
int fd;
int len;
if((fd = open(name, O_RDONLY, NULL))<0)
{
fprintf(stderr, "%s: cannot open for writing: \n", name);
return 0;
}else{
DPRINT("File: %s openned\n", name);
len = lseek(fd,0,SEEK_END);
lseek(fd, 0, SEEK_SET);
char* buffer = (char*) malloc(sizeof(char)*len);
while(read(fd, buffer + lseek(fd,0,SEEK_CUR), len));
pqfile = PQescapeBytea(buffer, len, &pqlen);
free(buffer);
DPRINT("Malloc: %i\n", pqlen+200);
char* pquer = malloc(pqlen+200);
DPRINT("Filename: %s\n", file_name);
sprintf(pquer, "INSERT INTO files (\"B_file\", \"Name\") "
"VALUES ('%s', '%s')", pqfile, file_name);
DPRINT("File %s\n", pquer);
Result = PQexec(nom_database, request);
if(!Test_request(Result))
{
DPRINT("Respons: %s\n", PQgetvalue(Result, 0, 0));
sprintf(pquer, "SELECT \"ID_files\" "
"FROM files "
"WHERE \"B_file\"='%s' "
" AND \"Name\"='%s'", pqfile, file_name);
Result = PQexec(nom_database, request);
free(pquer);
if(!Test_request(Result))
return atoi(PQgetvalue(Result, 0, 0));
return -1;
}
return -2;
}
return -3;
}

Ответ на:
комментарий
от jackLucas
Ответ на:
комментарий
от Ex
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.
Похожие темы
- Форум Насколько это легально? (2016)
- Форум Ошибка в коде... (2006)
- Форум тупилово (2008)
- Форум Почему программа выключается? (2017)
- Форум Recv снова в ожидании,в то время как Send уже все передал. (2015)
- Форум GTK+ TreeView (2005)
- Форум Не работает условие !EOF. (2004)
- Форум Поясните поведение mbstowcs (2010)
- Форум tcc gnu getline в рот мне ноги (2013)
- Форум C/SQLite что за ошибка (2015)