国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > 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語言程序設計有所幫助。

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

圖片精選

主站蜘蛛池模板: 中宁县| 麻城市| 天全县| 虹口区| 娄烦县| 修文县| 西乌珠穆沁旗| 九台市| 普兰店市| 高邮市| 五指山市| 东乌珠穆沁旗| 桂平市| 香河县| 涟水县| 高青县| 庆云县| 罗田县| 临湘市| 卢氏县| 天水市| 云龙县| 友谊县| 昭通市| 三门县| 吴旗县| 扎鲁特旗| 巫山县| 密山市| 龙江县| 大港区| 邢台县| 铁岭市| 伊金霍洛旗| 偏关县| 石林| 山东省| 剑河县| 涟水县| 句容市| 高清|