国产午夜成人免费看片无遮挡_日本免费xxxx色视频_免费人成网上在线观看_黄网址在线永久免费观看

當前位置:雨林木風下載站 > 技術開發教程 > 詳細頁面

用VC訪問Sybase數據庫

用VC訪問Sybase數據庫

更新時間:2022-05-07 文章作者:未知 信息來源:網絡 閱讀次數:

關鍵字     Sybase,數據庫訪問,ct-library接口
  
    前段我在做一個項目時,要用到通過Sybase客戶端連接網絡Sybase數據庫的問題。

在此之前,我做過好多access,SQL server數據庫的項目,都是用ADO技術來實現的。但是這一次,領導要求用Sybase數據庫提供的ct-library接口,所以一下子以前所知道的數據庫訪問技術都沒有了用武之地,我當時在csdn上發過貼子,問過這個問題,但回應很少,現在這個問題已解決了,我想寫出來,和大家一塊探討,共同學習,也好給以后遇到這個問題的人一個入門指導。
    首先,必須安裝Sybase客戶端并配置Sybase客戶端。安裝完成后要從程序中運行

dsedit進行配置。server為要訪問的數據庫的名字,還有Sybase數據庫所在機子的IP和

Port及訪問的協議TCP;不會配置的,可以請教一下身邊的高手。
           當配置完畢后,可以用ping來檢查配置的正確性。
    下面就進入到編程了。
    在此,你還要讓你的工程包含Sybase的頭文件和動態鏈接庫。讓程序能認識Sybase

函數。打Tool--->Options后,選擇Directories標簽,Show directories for 中選擇

Include files后,你就可以增加Sybase的包含:例我這里Sybase是安裝在C:所以我指

定為:C:\sybase\include;同樣,再選擇Library files指定:C:\sybase\lib,就ok了。
    1.包含頭文件。在你要連接Sybase數據庫代碼的頭文件中添加#include

<ctpublic.h>,此時你就可以編譯一下,如果說找不到此頭文件,說明你上面包含指定的路徑不正確。
    2.聲明兩個連接 Sybase 數據庫必須的變量。
CS_CONTEXT         *context;  /* 內容結構 */
CS_CONNECTION      *ptrconnection; /* 連接結構 */
     我個人認為用ct-library接口訪問sybase數據庫與用ADO技術有很多相似之處,也

可以說訪問數據庫一般差不多,都是先創建空間,再創建連接。
       并初始化context:      context = (CS_CONTEXT *)NULL;
    3.我定義了下面幾個函數:
BOOL  ConnectSybaseDB(CString strDBName,CString strUser,CString

strPass); //連接數據庫:true成功,false失敗 其參數分別為:數據庫名,訪問數據庫

的用戶名,密碼。這個strDBName就是Sybase客啟端配置時的Server名字。
void    DisConnectSybaseDB();         //斷開數據庫
void    ShowDBError(int  nErrCode);   //顯示連接數據庫時的錯誤信息
   4.具體實現:
//////////////**********建立連接函數***********//////////////
       ConnectSybaseDB(CString strDBName,CString strUser,CString strPass)
{
CS_RETCODE     ret;
char username[32],password[32];
memset(username,0,sizeof(username));
memset(password,0,sizeof(password));
     strcpy(username,strUser);
strcpy(password,strPassword);
/*分配內容結構*/
if((ret=cs_ctx_alloc(CS_VERSION_100, &context)) != CS_SUCCEED)
{   //不成功則調用ShowDBError顯示錯誤代碼
  ShowDBError(ret);
  return FALSE;
}
/*初始化Client_Library*/
if((ret=ct_init(context,CS_VERSION_100)) != CS_SUCCEED)
{
  ShowDBError(ret);
  return FALSE;
}
/*分配連接結構*/
if((ret=ct_con_alloc(context,&ptrconnection))!=CS_SUCCEED)
{
  ShowDBError(ret);
  return FALSE;
}
/*設置用戶名和口令*/
if((ret=ct_con_props(ptrconnection,CS_SET,CS_USERNAME,username,CS_NULLTERM,NU

LL))!=CS_SUCCEED)
{
  ShowDBError(ret);
  return FALSE;
}


if((ret=ct_con_props(ptrconnection,CS_SET,CS_PASSWORD,password,CS_NULLTERM,NU

LL))!=CS_SUCCEED)
{
  ShowDBError(ret);
  return FALSE;
}
/*建立連接*/
char instance[20];
strcpy(instance,strDBName);
if((ret=ct_connect(ptrconnection, (CS_CHAR *)instance,

sizeof(instance))) != CS_SUCCEED)
{

  ShowDBError(ret);
  return FALSE;
}
else
  return TRUE;
}
//////////////**********斷開連接函數***********//////////////
        void    DisConnectSybaseDB()
{
CS_RETCODE ret;
  if ((ret = ct_close(ptrconnection, CS_UNUSED))!= CS_SUCCEED)
{
  ShowDBError(ret);
}
if ((ret = ct_con_drop(ptrconnection)) != CS_SUCCEED)/*釋放資源*/
{
  ShowDBError(ret);
}
if((ret=ct_exit(context,CS_UNUSED))!=CS_SUCCEED)/*關閉與服務器的所有

連接,退出CT-L*/
{
  ShowDBError(ret);
}
if((ret=cs_ctx_drop(context))!=CS_SUCCEED)/*釋放環境結構占用的資源*/
{
  ShowDBError(ret);
}
    context = (CS_CONTEXT *)NULL;
        return;
}
//////////////**********顯示錯誤代碼函數***********//////////////
   void    ShowDBError(int  nErrCode)
{
CString strDBErrorInfo;
switch(nErrCode)
{
case CS_MEM_ERROR:  
  strcpy(strDBErrorInfo, "內存不足或地址分配錯誤!");   
  break;
case CS_PENDING:
  strcpy(strDBErrorInfo, "異步網絡I/O正在進行!");   
  break;
case CS_BUSY:
  strcpy(strDBErrorInfo, "當前連接內有一異步操作正在進行!");
  break;
case CS_CANCELED:
  strcpy(strDBErrorInfo, "操作被取消!");
  break;
case CS_END_RESULTS:
  strcpy(strDBErrorInfo, "從服務器返回的結果處理結束!");
  break;
case CS_ROW_FAIL:
  strcpy(strDBErrorInfo, "提取當前行的數據失敗!");
  break;
case CS_END_DATA:
  strcpy(strDBErrorInfo, "數據提取結束!");
  break;
case CS_FAIL:
  strcpy(strDBErrorInfo, "函數執行失敗!");
  break;  
default:
  strcpy(strDBErrorInfo, "系統不識別的錯誤!");
  break;  
}
AfxMessageBox(strDBErrorInfo);

}

   以上是簡單的連接斷開與顯示錯誤信息的一些代碼,供大家參考。請大家多指導,和

大家共同進步。我的信箱:moorhen@263.net 如轉載請標明作者:luckyegg

溫馨提示:喜歡本站的話,請收藏一下本站!

本類教程下載

系統下載排行

国产午夜成人免费看片无遮挡_日本免费xxxx色视频_免费人成网上在线观看_黄网址在线永久免费观看

  • <label id="pxtpz"><meter id="pxtpz"></meter></label>
      1. <span id="pxtpz"><optgroup id="pxtpz"></optgroup></span>

        奇米精品一区二区三区在线观看| 日韩欧美在线综合网| 国产精品一品二品| 欧美综合一区二区| 国产亚洲欧美日韩在线一区| 日韩成人伦理电影在线观看| eeuss影院一区二区三区 | 国产91精品在线观看| 欧美日韩精品一区二区三区| 亚洲欧美另类久久久精品2019| 国产91精品一区二区| 国产精品麻豆99久久久久久| 久久99久久精品| 欧美一级生活片| 日韩国产一二三区| 国产91丝袜在线播放| 中文字幕av一区二区三区免费看 | 91精品国产入口在线| 午夜伊人狠狠久久| 7777精品久久久大香线蕉| 香蕉久久一区二区不卡无毒影院| 成人性生交大片免费看中文网站| 中文乱码免费一区二区| 波多野结衣中文字幕一区| 国产精品久久99| 人人爽香蕉精品| 精品国产凹凸成av人导航| 国产在线精品一区二区不卡了| 26uuu色噜噜精品一区| 国产在线视频精品一区| 欧美激情一区三区| 一本大道av一区二区在线播放| 日韩久久一区二区| 欧美老女人在线| 蜜桃久久av一区| 国产精品久久久久aaaa樱花| 一本色道久久综合亚洲91| 首页综合国产亚洲丝袜| xf在线a精品一区二区视频网站| 国产精品亚洲а∨天堂免在线| 国产精品三级av在线播放| 欧美性大战久久| 亚洲欧洲中文日韩久久av乱码| 欧美在线观看视频一区二区 | 亚洲国产日韩精品| 国产精品久久久爽爽爽麻豆色哟哟| 免费观看30秒视频久久| 91麻豆福利精品推荐| 五月激情综合色| 国产婷婷一区二区| 欧美日韩精品一区二区| 国产传媒欧美日韩成人| 婷婷亚洲久悠悠色悠在线播放| 在线成人av网站| 成人免费高清在线观看| 久久99国产精品久久99| 图片区小说区区亚洲影院| 日韩va亚洲va欧美va久久| 中文字幕日韩av资源站| 一区二区三区产品免费精品久久75| 亚洲婷婷国产精品电影人久久| 亚洲精品中文在线影院| 日韩影院免费视频| 国产v综合v亚洲欧| 欧美一区二区在线观看| 国产精品免费视频一区| 天堂久久久久va久久久久| 懂色一区二区三区免费观看 | 99久久夜色精品国产网站| 在线免费亚洲电影| 国产亚洲精久久久久久| 一二三四区精品视频| 成人综合婷婷国产精品久久蜜臀| 欧美三级三级三级爽爽爽| 中文字幕在线不卡一区二区三区 | 国产一二三精品| 日本久久电影网| 精品久久一区二区| 亚洲一区二区三区四区在线观看| 麻豆国产91在线播放| 91久久国产综合久久| 久久久综合视频| 日韩成人一区二区| 欧美手机在线视频| 欧美国产成人精品| 麻豆精品精品国产自在97香蕉 | 亚洲天天做日日做天天谢日日欢| 蜜臀久久久久久久| 欧美男生操女生| 一区2区3区在线看| 成人高清免费观看| 中文字幕一区二区三区四区| 久久av资源网| 久久夜色精品国产欧美乱极品| 免费在线欧美视频| 日韩精品中文字幕在线一区| 久久狠狠亚洲综合| 久久亚洲精品小早川怜子| 免费高清在线视频一区·| 精品国内二区三区| 精品一区二区三区不卡| 国产亚洲一本大道中文在线| 国产不卡一区视频| 亚洲国产成人porn| 精品国产免费一区二区三区香蕉| 国产精品伦理一区二区| 国产成人综合网| 亚洲精品高清视频在线观看| 91精品麻豆日日躁夜夜躁| 丁香婷婷综合色啪| 欧美一级艳片视频免费观看| 国产精品香蕉一区二区三区| 亚洲一二三区在线观看| 欧美国产综合一区二区| 精品国产免费人成在线观看| 亚洲自拍偷拍麻豆| 国产午夜精品久久久久久免费视 | 国产女人18毛片水真多成人如厕 | 欧美精品一区二区三区视频| 欧美在线影院一区二区| 不卡的av中国片| 欧美美女网站色| 欧美三级电影网| 欧美精品1区2区3区| 91精品久久久久久久91蜜桃| 欧美肥大bbwbbw高潮| 日韩欧美高清dvd碟片| 日韩精品专区在线影院重磅| 欧美一区二区三区爱爱| 精品国产乱码久久久久久老虎 | 极品尤物av久久免费看| 国产精品91一区二区| 国产成人精品免费在线| av综合在线播放| 欧美精品自拍偷拍| 国产精品久线观看视频| 亚洲观看高清完整版在线观看| 日韩精品高清不卡| 国产成人自拍在线| 欧美视频精品在线观看| 久久久久9999亚洲精品| 亚洲精品视频在线| 国产在线精品一区在线观看麻豆| 处破女av一区二区| 欧美一区午夜精品| 中文字幕在线一区二区三区| 麻豆免费看一区二区三区| 一本色道久久综合亚洲aⅴ蜜桃| 91精品国产综合久久久久久久 | 欧美日韩免费观看一区三区| 国产免费成人在线视频| 奇米色一区二区三区四区| 91免费精品国自产拍在线不卡| 欧美mv和日韩mv国产网站| 亚洲国产另类av| 欧美亚洲日本国产| 亚洲一区二区三区在线| 色综合咪咪久久| 亚洲欧美日韩一区二区 | 久久综合九色综合欧美98| 日韩精品成人一区二区在线| 欧美日韩和欧美的一区二区| 亚洲视频狠狠干| 欧美三级欧美一级| 日韩精品久久理论片| 日韩精品中文字幕一区二区三区| 日韩不卡一区二区| 精品国产乱码久久久久久影片| 精品在线免费视频| 国产精品伦一区| 欧美色视频一区| 久久se这里有精品| 日本一区二区成人| 在线免费观看视频一区| 九九视频精品免费| 中文字幕一区二区三区在线观看 | 成人一道本在线| 亚洲成年人影院| 欧美国产日韩一二三区| 91麻豆精品视频| 国内精品久久久久影院薰衣草| 国产日产欧美一区| 欧美色大人视频| 99久久婷婷国产综合精品| 午夜精品久久久久久久| 欧美tickle裸体挠脚心vk| 91片在线免费观看| 久久av中文字幕片| 免费高清在线一区| 亚洲国产一区视频| 国产精品久久久久久亚洲毛片| 日韩欧美国产系列| 日本道色综合久久| 懂色av一区二区三区免费观看| 久久国产夜色精品鲁鲁99| 亚洲成人在线网站| 亚洲同性gay激情无套| 亚洲日本成人在线观看| 亚洲欧美一区二区三区国产精品| 久久久国产一区二区三区四区小说|