国产色频,国产网站精品,成人在线综合网,精品一区二区三区毛片,亚洲无卡视频,黄色av观看,亚洲福利影视

應(yīng)用系統(tǒng)二次開發(fā)中數(shù)據(jù)庫數(shù)據(jù)讀取的捷徑

2013-12-13 10:29:57 電力信息化  點(diǎn)擊量: 評(píng)論 (0)
摘要:應(yīng)用系統(tǒng)的二次開發(fā),一般通過ODBC等數(shù)據(jù)庫驅(qū)動(dòng)讀取數(shù)據(jù)庫數(shù)據(jù),或者由開發(fā)廠商提供接口API函數(shù)。由于數(shù)據(jù)庫驅(qū)動(dòng)經(jīng)過了很多中間環(huán)節(jié),而且需要考慮到通用性、兼容性等各個(gè)方面,使性能、效率大打折扣;一般
在數(shù)據(jù)處理中心創(chuàng)建共享內(nèi)存:
HANDLE         m_hMapObject;            //共享內(nèi)存句柄
extern  LPVOID   lpvMem=NULL;        //共享內(nèi)存地址
#define  SHMEMSIZE sizeof(Datastru) //共享內(nèi)存空間
m_hMapObject = CreateFileMapping((HANDLE)0xFFFFFFFF,
                                   NULL,
                                   PAGE_READWRITE,
                                   0,
                                   SHMEMSIZE,
                                   “Share_Mem”);
    if (m_hMapObject==NULL) return FALSE;//創(chuàng)建共享內(nèi)存失敗
BOOL fInit = (GetLastError()!=ERROR_ALREADY_EXISTS);
    lpvMem = MapViewOfFile(m_hMapObject, FILE_MAP_ALL_ACCESS, 0, 0, SHMEMSIZE));
    if (lpvMem==NULL)  return FALSE;
    if (fInit) memset(lpvMem, 0, SHMEMSIZE);  //初始化共享內(nèi)存
    return TRUE;
 
2、編寫數(shù)據(jù)庫用戶自定義函數(shù),往共享內(nèi)存寫數(shù)據(jù):
void SQL_API_FN get _data (
SQLUDF_CHAR          Station_name [36] ,
SQLUDF_CHAR          Line_name [36] ,
SQLUDF_INTEGER       *Line_Size ,
SQLUDF_INTEGER       *Voltage_Grade,
SQLUDF_CHAR          Manager [36],
SQLUDF_ DOUBLE       *Voltage _value,
SQLUDF_ DOUBLE        *Electricity,)
{
Datastru  *data ;
HANDLE         m_hMapObject;            //共享內(nèi)存句柄
LPVOID         lpvMem=NULL;          //共享內(nèi)存地址
#define  SHMEMSIZE sizeof(Datastru) //共享內(nèi)存空間
m_hMapObject = CreateFileMapping((HANDLE)0xFFFFFFFF,
大云網(wǎng)官方微信售電那點(diǎn)事兒

責(zé)任編輯:和碩涵

免責(zé)聲明:本文僅代表作者個(gè)人觀點(diǎn),與本站無關(guān)。其原創(chuàng)性以及文中陳述文字和內(nèi)容未經(jīng)本站證實(shí),對(duì)本文以及其中全部或者部分內(nèi)容、文字的真實(shí)性、完整性、及時(shí)性本站不作任何保證或承諾,請(qǐng)讀者僅作參考,并請(qǐng)自行核實(shí)相關(guān)內(nèi)容。
我要收藏
個(gè)贊
?