Привет всем, Я новичок в языке C, я подключен к базе данных с помощью OCILIB, и я нашел эту программу по сети.Подключение к базе данных с использованием OCILIB
#include "ocilib.h"
#include <conio.h>
/* Example on Microsoft platform */
static HANDLE evt;
void long_oracle_call(void *data)
{
OCI_Statement *st = OCI_StatementCreate((OCI_Connection *) data);
OCI_Resultset *rs;
/* execute a query that takes a long time to process */
OCI_ExecuteStmt(st, "select * from employees2");
rs = OCI_GetResultset(st);
while (OCI_FetchNext(rs))
{
printf("%i - %s", OCI_GetInt(rs, 1), OCI_GetString(rs, 2));
}
SetEvent(evt);
}
int main(void)
{
OCI_Connection *cn;
if (!OCI_Initialize(NULL, NULL, OCI_ENV_DEFAULT))
return EXIT_FAILURE;
cn = OCI_ConnectionCreate("localhost:1522/infodba", "system", "infodba", OCI_SESSION_DEFAULT);
evt = CreateEvent(0, TRUE, FALSE, 0);
_beginthread(long_oracle_call, 0, cn);
if (WaitForSingleObject(evt, 10000) != WAIT_OBJECT_0)
{
OCI_Break(cn);
Sleep(2000);
}
OCI_Cleanup();
getch();
return EXIT_SUCCESS;
}
IT работает отлично, но я хочу, выход этой программы в массив в аренду, а не ниже линии
printf("%i - %s", OCI_GetInt(rs, 1), OCI_GetString(rs, 2));
Я пытался сделать это, тест [1] = OCI_GetString (rs, 2);
Но это дает мне сообщение об ошибке, как
ERROR: A value of type "const text*" cannot be assigned to an entity of type "char".
Кто-нибудь, пожалуйста, помогите мне.
Thnx много это работает – Jagdish
@Jagdish и вы радушны. :-) –