首页 > 数据库 > 国内数据库 > GBase C API 应用示例
1.
使用 GBase C API 创建连接
GBASE* gbase=NULL;
/* 初始化 GBASE 结构体*/
if(!(gbase = gbase_init(0)))
{
fprintf(stderr, " 不能初始化 GBASE 结构体!\n");
exit(1);
}
/* 数据库连接*/
if(!gbase_real_connect(gbase, host, user, passwd, db, port, NULL, 0))
{
fprintf(stderr, "\n%s\n", gbase_error(gbase));
exit(1);
}
/* 释放数据库连接句柄*/
gbase_close(gbase);
2. 使用 GBase C API 执行 SQL 语句
/* 数据库连接*/
if(!gbase_real_connect(gbase, host, user, passwd, db, port,
NULL, 0))
{
fprintf(stderr, "\n%s\n", gbase_error(gbase));
exit(1);
}
gbase->reconnect = 1;
/* 在数据库中创建表*/
if(gbase_query(gbase, sql_drop_table))
{
fprintf(stderr, "%s", gbase_error(gbase));
exit(1);
}
if(gbase_query(gbase, sql_create_table))
{
fprintf(stderr, "\n%s\n", gbase_error(gbase));
exit(1);
}
/* 向数据库表中插入数据*/
for(i=0; i<NUM_INSERT; i++)
{
id[i] = i;
sprintf(name[i], "name_%d", i);
}
for(i=0; i<NUM_INSERT; i++)
{
sprintf(sql_insert, insert_mode, id[i], name[i]);
if(gbase_query(gbase, sql_insert))
{
fprintf(stderr, "\n%s\n", gbase_error(gbase));
exit(1);
}
}
/* 从数据库表中选择出数据,并显示*/
if(gbase_query(gbase, sql_select))
{
fprintf(stderr, "\n%s\n", gbase_error(gbase));
exit(1);
}
res = gbase_store_result(gbase);
printf(" 插入操作后表的内容\n");
if(res)
{
num_fields = gbase_num_fields(res);
while(fields = gbase_fetch_field(res))
{
printf("\t| %s ", fields->name);
}
printf("\t|\n");
while((row = gbase_fetch_row(res)) != NULL)
{
for(i=0; i < num_fields; i++)
{
printf("\t| %s ", row[i]);
}
printf("\t|\n");
}
}
/* 更新数据库表中数据*/
sprintf(sql_update, update_mode, id[0]);
if(gbase_query(gbase, sql_update))
{
fprintf(stderr, "\n%s\n", gbase_error(gbase));
exit(1);
}
printf(" 更新操作后表的内容\n");
print_table(gbase, "g_demo1");
/* 删除数据库表中数据*/
sprintf(sql_delete, delete_mode, id[1]);
if(gbase_query(gbase, sql_delete))
{
fprintf(stderr, "\n%s\n", gbase_error(gbase));
exit(1);
}
printf(" 删除操作后表的内容\n");
print_table(gbase, "g_demo1");
/* 释放结果集*/
gbase_free_result(res);
/* 释放数据库连接句柄*/
gbase_close(gbase);
}
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/69989309/viewspace-2736696/ ,如需转载,请注明出处,否则将追究法律责任。