a亚洲精品_精品国产91乱码一区二区三区_亚洲精品在线免费观看视频_欧美日韩亚洲国产综合_久久久久久久久久久成人_在线区

首頁 > 編程 > C > 正文

C語言連接并操作Sedna XML數據庫的方法

2020-01-26 15:05:10
字體:
來源:轉載
供稿:網友

本文實例講述了C語言連接并操作Sedna XML數據庫的方法。分享給大家供大家參考。具體如下:

#include "libsedna.h" #include "stdio.h" int handle_error(SednaConnection* conn,          const char* op,          int close_connection) {   printf("%s failed: /n%s/n", op, SEgetLastErrorMsg(conn));   if(close_connection == 1) SEclose(conn);   return -1; } int main() {  struct SednaConnection conn = SEDNA_CONNECTION_INITIALIZER;  int bytes_read, res, value;  char buf[1024];  /* Turn off autocommit mode */  value = SEDNA_AUTOCOMMIT_OFF;  res = SEsetConnectionAttr(&conn, SEDNA_ATTR_AUTOCOMMIT,               (void*)&value, sizeof(int));  /* Connect to the database */  res = SEconnect(&conn, "localhost", "test_db",          "SYSTEM", "MANAGER");  if(res != SEDNA_SESSION_OPEN)   return handle_error(&conn, "Connection", 0);  /* Begin a new transaction */  res = SEbegin(&conn);  if(res != SEDNA_BEGIN_TRANSACTION_SUCCEEDED)   return handle_error(&conn, "Transaction begin", 1);  /* Load file "region.xml" into the document "region" */  res = SEexecute(&conn, "LOAD 'region.xml' 'region'");  if(res != SEDNA_BULK_LOAD_SUCCEEDED)   return handle_error(&conn, "Bulk load", 1);  /* Execute XQuery statement */  res = SEexecute(&conn, "doc('region')/*/*");  if(res != SEDNA_QUERY_SUCCEEDED)   return handle_error(&conn, "Query", 1);  /* Iterate and print the result sequence */  while((res = SEnext(&conn)) != SEDNA_RESULT_END) {   if (res == SEDNA_ERROR)    return handle_error(&conn, "Getting item", 1);   do {    bytes_read = SEgetData(&conn, buf, sizeof(buf) - 1);    if(bytes_read == SEDNA_ERROR)     return handle_error(&conn, "Getting item", 1);    buf[bytes_read] = '/0';    printf("%s/n", buf);   } while(bytes_read > 0);  }  /* Drop document "region" */  res = SEexecute(&conn, "DROP DOCUMENT 'region'");  if(res != SEDNA_UPDATE_SUCCEEDED)   return handle_error(&conn, "Drop document", 1);  /* Commit transaction */  res = SEcommit(&conn);  if(res != SEDNA_COMMIT_TRANSACTION_SUCCEEDED)   return handle_error(&conn, "Commit", 1);  /* Close connection */  res = SEclose(&conn);  if(res != SEDNA_SESSION_CLOSED)   return handle_error(&conn, "Close", 0);  return 0; }

希望本文所述對大家的C語言程序設計有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 国产中文一区二区三区 | 中文字幕乱码亚洲精品一区 | 精品日韩欧美一区二区三区在线播放 | 国产在线资源 | 国产精品一二三 | 精品日韩视频 | 亚洲国产精品麻豆 | 日日操操| 日韩三级在线免费 | 成人精品鲁一区一区二区 | 色婷婷综合久久久久中文一区二区 | 日韩大片免费播放 | 中文字幕亚洲一区 | 狠狠躁日日躁夜夜躁东南亚 | 国产一级一级毛片女人精品 | 久久爱9191 | 国产精品美女视频一区二区三区 | 色婷婷综合在线视频 | 97久久精品午夜一区二区 | 欧美一级视频 | av在线一区二区 | 中文字幕av一区二区 | 成人在线www | 成人在线精品视频 | 欧美一区不卡 | 草草久久久| 亚洲 欧美 精品 | 在线播放国产一区二区三区 | 精品国产精品三级精品av网址 | 亚洲午夜视频 | 日韩视频在线一区 | 四色永久 | 黄色网页在线观看 | 天堂√在线观看一区二区 | 国产ts余喵喵和直男多体位 | 午夜国产羞羞视频免费网站 | 狠狠草视频 | 亚洲一区在线日韩在线深爱 | 久久一二区 | 国产精品久久久久久久久久妞妞 | 精品久久久一区二区 |