gpt4 book ai didi

c - 使用 OCILIB 连接数据库

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

大家好,我是C语言的新手,我用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;
}

它工作正常,但我希望这个程序的输出到一个 charter 数组,而不是下面的行

printf("%i - %s", OCI_GetInt(rs, 1), OCI_GetString(rs, 2));

我试过了,test[1]=OCI_GetString(rs, 2);

但它给我的错误是

ERROR: A value of type "const text*" cannot be assigned to an entity of type   "char".

有人请帮助我。

最佳答案

您不能使用 = #string 分配给 char[] 数组。你必须这样做

strcpy(test, OCI_GetString(rs, 2));

假设,text 是一个足够长的 char 数组。

#除了初始化时间

关于c - 使用 OCILIB 连接数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28980024/

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