亚洲a中文字幕_官网99热精品_91美女片黄在线观看游戏_久久96国产精品久久99软件

寧波市鄞州首南恒宇激光雕刻廠

UG二次開發(fā)中外部數(shù)據(jù)訪問方法研究
分享到:

1前言 隨著UG系統(tǒng)......



1 前言
隨著UG系統(tǒng)的推廣和普及應(yīng)用,基于UG平臺的二次開發(fā)工作顯得越來越重要,在UG的二次開發(fā)應(yīng)用系統(tǒng)中,經(jīng)常需要與各種外部數(shù)據(jù)打交道,

UG/OPEN API提供了豐富的文件訪問操作函數(shù),利用這些操作函數(shù)及VC++的MFC類庫,可以方便地實(shí)現(xiàn)外部數(shù)據(jù)讀寫訪問編程。
2 外部數(shù)據(jù)訪問的主要方法
在UG二次開發(fā)應(yīng)用系統(tǒng)中,主要訪問的外部數(shù)據(jù)有文本文件、Excel表、關(guān)系型數(shù)據(jù)庫表等,通常可以通過以下方法訪問這些外部數(shù)據(jù):
(1)通過UG/OPEN API提供的文件操作函數(shù)訪問外部數(shù)據(jù)
(2)通過ODBC數(shù)據(jù)源訪問外部數(shù)據(jù)
(3)通過ADO訪問外部數(shù)據(jù)
2.1 通過UG/OPEN API提供的文件操作函數(shù)訪問文本文件數(shù)據(jù)
UG/OPEN API中有關(guān)文件操作的函數(shù)包含在頭文件uf_cfi.h中,通過函數(shù)uc4500可以打開二進(jìn)制文件,相關(guān)的文件操作函數(shù)有uc4510、uc4511

、uc4512、uc4513及uc4520、uc4521、uc4522、uc4523,通過函數(shù)uc4504可以打開文本文件,相關(guān)的文件操作函數(shù)有uc4514、uc4524、uc4525

,函數(shù)uc4540用于關(guān)閉文件,判斷文件是否存在使用函數(shù)UF_CFI_ask_file_exist。
通過UG/OPEN API提供的文件操作函數(shù)訪問外部數(shù)據(jù)時,要注意以下問題:
(1)UG/Manager 和 IMAN中的文件和文件夾操作不能使用uf_cfi.h中函數(shù);
(2)UG/OPEN API中對文件和文件夾標(biāo)識符的長度有如下限制:
文件名長度不能超過UF_CFI_MAX_FILE_NAME_LEN;文件夾路徑的長度不能超過UF_CFI_MAX_PATH_NAME_LEN;整個文件路徑的長度不能超過

UF_CFI_MAX_PATH_NAME_LEN。
訪問文本文件的程序流程如下圖:

2.2 通過ODBC數(shù)據(jù)源訪問Excel表或關(guān)系型數(shù)據(jù)庫表數(shù)據(jù)
ODBC(Open Database connectivity 開放式數(shù)據(jù)庫互連)是由微軟公司提出的一個用于訪問數(shù)據(jù)庫的統(tǒng)一界面標(biāo)準(zhǔn),它提供了一個一致的應(yīng)

用程序編程接口,該接口使用一個針對數(shù)據(jù)庫的驅(qū)動程序與不同的數(shù)據(jù)庫協(xié)同工作。
通過ODBC訪問外部數(shù)據(jù)時,需要先指定訪問的數(shù)據(jù)源DSN(Data Source Name),以指定ODBC與相關(guān)的驅(qū)動程序相對應(yīng)的入口。在控制面板的

管理工具中可以打開ODBC數(shù)據(jù)源管理器,指定DSN。
建立MFC數(shù)據(jù)庫類Cdatabse對象可以實(shí)現(xiàn)對外部數(shù)據(jù)的訪問編程。一個CDatabase對象代表與數(shù)據(jù)源的一個連接。創(chuàng)建一個CDatabase對象之后

,調(diào)用Open或OpenEx成員函數(shù)指定一個DSN,就建立起了與DSN的底層數(shù)據(jù)源的連接(打開數(shù)據(jù)庫)。成員函數(shù)Close關(guān)閉數(shù)據(jù)庫。CDatabase對

象通常與一個或多個記錄集(CRecordset對象)一起使用,通過CRecordset類的各成員函數(shù)完成對數(shù)據(jù)源的讀寫操作。
通過ODBC訪問一個Excel表的編程實(shí)例代碼如下:
static void do_ugopen_api(void)
{
CDatabase Database; // 定義一個MFC的CDatabse數(shù)據(jù)庫類對象Databse
CString SQLCommand = "select `Serial_Number`, `Outer_Diameter`, `Inner_Diameter`,`Height` from `Sheet1$`"; // SQL查詢語句
DWORD dwOptions = 0;// 設(shè)置連接的建立方式
CDBVariant temp;// 數(shù)據(jù)庫數(shù)據(jù)通用類型
int result; // 儲存返回值的變量
char buf[133];
try
{
result = Database.OpenEx( "DSN=Standard Part", dwOptions ); // 打開數(shù)據(jù)庫
if( result != 0 ) // 如果成功打開
{
CRecordset rs( &Database ); // 定義記錄集
if ( rs.Open( CRecordset::snapshot, SQLCommand ) != false )
{
rs.MoveFirst( );
short nFields = rs.GetODBCFieldCount( );// 獲取記錄的字段數(shù)目
UF_UI_open_listing_window( );
while( !rs.IsEOF( ) )
{
for( short index = 1; index < nFields; index++ )
{
rs.GetFieldValue( index, temp );
sprintf(buf,"%f",temp.m_dblVal );
UF_UI_write_listing_window(buf );
UF_UI_write_listing_window( "\t" );
}
UF_UI_write_listing_window( "\n" );
rs.MoveNext( );
}
rs.Close( );// 關(guān)閉記錄集
}
Database.Close(); // 關(guān)門數(shù)據(jù)庫連接
}
}
catch( CDBException *pe ) // 出錯處理
{
AfxMessageBox( "Exception!" );
AfxMessageBox( pe->m_strError );
pe -> Delete( );
}
}
2.3 通過ADO訪問外部數(shù)據(jù)
ADO(ActiveX Data Objects)是微軟的數(shù)據(jù)庫對象技術(shù),ADO里面包括連接數(shù)據(jù)庫的對象,從查詢語句中返回?cái)?shù)據(jù)的記錄集對象和表現(xiàn)數(shù)據(jù)元素

的字段對象。支持ADO編程的庫文件是msado15.dll,它默認(rèn)保存在“c:\program files\common siles\system\ado\”目錄下,動態(tài)鏈接庫
本文有[www.0574-laser.com]提供,請及時關(guān)注[www.0574-laser.com]提供的內(nèi)容

msado15.dll封裝了ADO的所有功能。在默認(rèn)情況下,Visual C++不支持ADO對象。要在程序中使用ADO對象,需要使用#import命令將ADO庫文件

導(dǎo)入到工程中,代碼如下:
#import “c:\Program Files\Common Files\System\ado\msado15.dll” no_namespace rename(“EOF”,”adoEOF”) rename(“BOF”,”

adoBOF”)
參數(shù)no_namespace 表示不使用ADO的名字空間。為了避免出現(xiàn)常量名沖突,需要將EOF改名為adoEOF、BOF改名為adoBOF。
ADO庫包含3個基本接口,即_ConnectionPtr接口、_CommandPtr接口和_RecordsetPtr接口。它們分別對應(yīng)Connection對象、Command對象和

Recordset對象。通過這三個基本接口可實(shí)現(xiàn)對數(shù)據(jù)庫的訪問。
通過ADO訪問數(shù)據(jù)庫的一般步驟如下:
(1)連接到數(shù)據(jù)源;
(2)指定訪問數(shù)據(jù)源的命令(查詢、更新、刪除等操作命令);
(3)執(zhí)行命令。
有關(guān)ADO庫基本接口的使用方法請參見相關(guān)的參考手冊,下面給出通過ADO訪問Access數(shù)據(jù)庫表的實(shí)例程序代碼段:
bool DoAdoTest( void )
{
// 初始化對COM的調(diào)用
CoInitialize( 0 );
_ConnectionPtr pConnection = NULL; // 連接
_RecordsetPtr pRecordset = NULL; // 記錄集
本文有[www.0574-laser.com]提供,請及時關(guān)注[www.0574-laser.com]提供的內(nèi)容
HRESULT hr = E_UNEXPECTED;
CString strConnectionString( "Provider=Microsoft.Jet.OLEDB.4.0;Data 落Source=f:\\ug\\chapter3_4\\screw.mdb" ); // 連接字符串

聯(lián)系我們

地址: 浙江省.寧波市鄞州區(qū)寧姜公路(九曲小區(qū)二期旁)

郵編: 315040

聯(lián)系人: 盛立峰

電話: 0574-87139378

傳真: 0574-87139378

手機(jī): 13867861670

郵箱: 85400329@qq.com

聯(lián)系我們
亚洲a中文字幕_官网99热精品_91美女片黄在线观看游戏_久久96国产精品久久99软件
国产精品高清在线观看| 欧美精品在线极品| 国产乱子伦精品| 精品日韩在线播放| 国产综合av在线| 欧美视频免费看欧美视频| 五月天婷亚洲天综合网鲁鲁鲁| 欧美激情亚洲精品| 在线观看一区二区三区三州| 最新欧美日韩亚洲| 欧美精品久久久久| 中文字幕一区二区三区四区五区六区 | 国产精品一 二 三| 国产欧美一区二区三区久久| 国产一区二区视频在线观看 | 亚洲午夜精品久久久中文影院av| 亚洲综合成人婷婷小说| 亚洲免费在线精品一区| 亚州国产精品久久久| 日韩av电影免费在线| 日本高清视频一区二区三区| 欧美在线一区二区视频| 狠狠干一区二区| 精品亚洲第一| 99视频在线播放| 久久久久久久一区二区三区| 国产精品三级网站| 欧美激情久久久久| 日韩中文在线字幕| 激情视频一区二区| 国产精品一区二区三区不卡| 久久久国产精华液999999 | 欧美成人性色生活仑片| 久久久久国产精品www| 日韩在线第三页| 日韩人妻精品无码一区二区三区 | 精品一区二区三区毛片| 成人国产一区二区三区| 色黄久久久久久| 欧美黄网免费在线观看| 岛国视频一区免费观看 | 91精品国产自产91精品| 久久精品国产99精品国产亚洲性色 | 亚洲欧美在线网| 欧美又大粗又爽又黄大片视频| 国产日韩欧美在线视频观看| 国产成人亚洲精品| 在线国产99| 国内精品国语自产拍在线观看| 91成人在线视频观看| 久久久国产一区二区三区| 亚洲一区二区三区久久| 精品人妻少妇一区二区| 91精品国产综合久久久久久蜜臀 | 亚洲一区二区三区777| 欧美伊久线香蕉线新在线| 国产精品一区电影| 国产精品日韩欧美一区二区| 午夜探花在线观看| 国产免费一区二区三区在线观看| 久久久久久久久久久91| 亚洲一区二区三区在线观看视频 | 日韩免费高清在线| 91精品久久久久久久| 精品国产免费人成电影在线观...| 日本a级片在线观看| 国产精品96久久久久久| 欧美激情免费在线| 国产在线播放一区二区| 国产精品视频在线免费观看| 日韩欧美在线播放视频| 久久久一本精品99久久精品| 久久久久成人网| 国产人妻互换一区二区| 国产精品久久999| 精品999在线观看| 久久精品日韩| 亚洲国产日韩美| 91久久久久久久久久| 精品久久久久久乱码天堂| 蜜桃91精品入口| 国产精品入口尤物| 激情五月五月婷婷| 国产精品视频白浆免费视频| 欧美中文字幕第一页| 久久久久久久网站| 日本少妇高潮喷水视频| 国产大片精品免费永久看nba| 亚洲视频精品一区| 99在线观看视频网站| 中文精品视频一区二区在线观看| 免费精品视频一区二区三区| 久久久精品国产亚洲| 欧美中文娱乐网| 日韩最新免费不卡| 欧美性在线观看| 国产精品免费一区二区| 精品视频免费观看| 欧美日本精品在线| 91精品国产网站| 欧美一级免费看| 九九久久九九久久| 欧美一二三不卡| 国产精品久久久久久久久借妻| 激情小视频网站| 麻豆乱码国产一区二区三区 | 91久久久在线| 色综合久久av| 久久久噜噜噜久久久| 欧美视频在线观看网站| 国产精品对白一区二区三区| 国产免费观看久久黄| 中文字幕在线亚洲三区| 久久另类ts人妖一区二区| 欧洲国产精品| 久久99精品久久久久久琪琪| 91精品国产网站| 欧美影院久久久| 精品久久免费观看| 97精品国产97久久久久久| 欧美一区二区大胆人体摄影专业网站 | 久久国产精品99久久久久久丝袜| 欧美极品视频一区二区三区| 国产精品第3页| 91久久精品美女高潮| 日韩精品 欧美| 国产精品国产三级国产专区51| 国产免费一区二区三区四在线播放| 亚洲www视频| 国产精品爽爽爽爽爽爽在线观看| 国产麻豆日韩| 午夜精品一区二区三区在线| 色偷偷888欧美精品久久久| 国产在线青青草| 日韩在线一级片| 精品久久一二三| 日韩最新免费不卡| 99久久99| 麻豆久久久9性大片| 日韩中文字幕在线视频观看| 久色乳综合思思在线视频| 国产经典一区二区| 蜜桃av噜噜一区二区三| 亚洲 国产 欧美一区| 欧美成aaa人片在线观看蜜臀| 久久久久成人精品免费播放动漫| 国产视频一视频二| 热99精品只有里视频精品| 亚洲在线免费视频| 国产精品狠色婷| 日韩一级黄色av| 久久久天堂国产精品女人| 国产无套粉嫩白浆内谢的出处 | 国产欧美日韩精品在线观看| 青青青国产精品一区二区| 美女精品久久久| 国产精品久久久| 久久久久久久久久久久久久久久久久av | 五月天在线免费视频| 欧美人交a欧美精品| 久久久精品中文字幕| 91美女片黄在线观| 国产伦精品一区二区三区四区视频| 欧美日韩在线播放一区二区| 日韩国产精品一区二区| 亚洲成人精品电影在线观看| 在线观看免费91| 欧美wwwxxxx| 国产精品海角社区在线观看| 日韩中文字幕在线视频| 久久久水蜜桃| 91国产美女视频| 成人免费在线网| 国产日韩欧美一二三区| 黑人中文字幕一区二区三区| 欧美午夜小视频| 日本免费高清不卡| 少妇高清精品毛片在线视频| 亚洲a在线播放| 亚洲区成人777777精品| 一道本在线观看视频| 一区二区三区四区免费视频| 欧美日韩不卡合集视频| 蜜月aⅴ免费一区二区三区| 国产精品电影网| 不卡毛片在线看| 欧美精品日韩www.p站| 不卡av电影院| 毛片精品免费在线观看| 欧美精品国产精品日韩精品| 尤物一区二区三区| 在线亚洲美日韩| 亚洲精品欧美极品| 日本一区二区三区视频在线播放| 天堂v在线视频| 日韩精品欧美在线| 激情小说综合网| 国产乱码精品一区二区三区卡| 国产午夜福利100集发布| 成人在线观看a|