闂傚倸鍊搁崐鎼佸磹閹间礁纾归柟闂寸绾惧湱鈧懓瀚崳纾嬨亹閹烘垹鍊炲銈嗗笂缁€渚€宕滈鐑嗘富闁靛牆妫楁慨褏绱掗悩鍐茬伌闁绘侗鍣f慨鈧柕鍫濇閸樻捇鏌℃径灞戒沪濠㈢懓妫濆畷婵嗩吋閸℃劒绨婚梺鍝勫€搁悘婵嬵敂椤愩倗纾奸弶鍫涘妽瀹曞瞼鈧娲樼敮鎺楋綖濠靛鏁勯柦妯侯槷婢规洟姊洪崨濠勭細闁稿孩濞婇幆灞解枎閹惧鍘遍梺鍝勬储閸斿矂鎮橀悩鐢电<闁绘瑢鍋撻柛銊ョ埣瀵濡搁埡鍌氫簽闂佺ǹ鏈粙鎴︻敂閿燂拷
/
婵犵數濮烽弫鍛婃叏閻戣棄鏋侀柛娑橈攻閸欏繘鏌i幋锝嗩棄闁哄绶氶弻鐔兼⒒鐎靛壊妲紒鎯у⒔缁垳鎹㈠☉銏犵闁哄啠鍋撻柛銈呯Ч閺屾盯濡烽鐓庘拻闂佽桨绀佸ú顓㈠蓟閺囷紕鐤€闁哄洨鍊妷锔轰簻闁挎棁顕у▍宥夋煙椤旂瓔娈滅€规洘顨嗗鍕節娴e壊妫滈梻鍌氬€风粈渚€骞夐垾瓒佹椽鏁冮崒姘憋紱婵犮垼鍩栭崝鏇㈠及閵夆晜鐓熼柟閭﹀枛閸斿鏌嶉柨瀣伌闁诡喖缍婇獮渚€骞掗幋婵愮€虫繝鐢靛仜閹冲繘宕濆▎鎾宠摕闁绘梻鍘х粈鍕煏閸繃顥滄い蹇ユ嫹
/
闂傚倸鍊搁崐鎼佸磹閹间礁纾归柟闂寸绾惧綊鏌熼梻鎾闁稿鍨块弻鐔虹磼閵忕姵鐏堢紒鐐劤椤兘寮诲☉銏犲嵆闁靛ǹ鍎崑鎾垛偓锝庘偓銏℃そ椤㈡棃宕ㄩ鐣屽絾闂傚倷妞掔槐顔惧緤閼恒儳闄勯柡鍐ㄥ€搁崹婵嬫煛婢跺鐏嶉柡鈧禒瀣叆婵炴垶锚椤忊晛霉濠婂啨鍋㈤柡灞剧⊕缁绘繈宕橀鍕ㄦ嫲闁诲孩顔栭崰鏍€﹂柨瀣╃箚闁归棿绀佸敮闂佸憡鍔忛弲婊堝Φ濠靛棌鏀介柍鈺佸暞閸婃劙鏌涢埞鎯у⒉闁瑰嘲鎳樺畷顐﹀礋椤愬秵娲栭埞鎴︽晬閸曨偂鏉梺绋匡攻閻楁粓寮鈧獮鎺楀棘閸濆嫪澹曞┑顔结缚閸樠囩嵁閺嶎厽鐓冮柦妯侯樈濡插吋銇勯敃鈧崯鑳絹闂佹悶鍎滃鍫濇儓婵$偑鍊戦崹鍝劽洪悢鐓庢瀬闁圭増婢橀悙濠囨煏婵炲灝鍔氶柣蹇ョ節濮婂宕掑▎鎰偘濡炪倖娲橀悧鐘茬暦娴兼潙绠婚悹鍥皺閿涚喖姊哄Ч鍥х伄閺嬵亪鏌$€b晝绐旈柡宀€鍠栧畷婊嗩槾閻㈩垱鐩弻锟犲川椤旇棄鈧劙鏌$仦璇插闁诡喓鍊濆畷鎺戔槈濮楀棔绱�
2025婵犵數濮烽弫鍛婃叏閹绢喗鍎夊鑸靛姇缁狙囧箹鐎涙ɑ灏ù婊呭亾娣囧﹪濡堕崟顓炲闂佸憡鐟ョ换姗€寮婚敐澶婄闁挎繂妫Λ鍕磼閻愵剙鍔ゆ繛纭风節瀵鎮㈤崨濠勭Ф闂佸憡鎸嗛崨顔筋啅缂傚倸鍊烽懗鑸靛垔椤撱垹鍨傞柛顐f礀閽冪喖鏌曟繛鐐珕闁稿妫濋弻娑氫沪閸撗€妲堝銈呴獜閹凤拷3闂傚倸鍊搁崐鎼佸磹閹间礁纾归柟闂寸绾剧懓顪冪€n亝鎹i柣顓炴閵嗘帒顫濋敐鍛婵°倗濮烽崑鐐烘偋閻樻眹鈧線寮撮姀鈩冩珕闂佽姤锚椤︻喚绱旈弴銏♀拻濞达綀娅g敮娑㈡煕閺冣偓濞茬喖鐛弽顓ф晝闁靛牆娲g粭澶婎渻閵堝棛澧遍柛瀣仱閹繝濡烽埡鍌滃幗闂佸搫娲ㄩ崑娑㈠焵椤掆偓濠€閬嶅焵椤掍胶鍟查柟鍑ゆ嫹18闂傚倸鍊搁崐鎼佸磹閹间礁纾归柟闂寸绾剧懓顪冪€n亝鎹i柣顓炴閵嗘帒顫濋敐鍛婵°倗濮烽崑鐐烘偋閻樻眹鈧線寮撮姀鈩冩珖闂侀€炲苯澧扮紒顕嗙到铻栧ù锝堟椤旀洟姊洪悷鎵憼闁荤喆鍎甸幃姗€鍩¢崘顏嗭紲闂佺粯鐟㈤崑鎾绘煕閵娿儳鍩g€殿喖顭锋俊鎼佸煛閸屾矮绨介梻浣呵归張顒傜矙閹达富鏁傞柨鐕傛嫹 0:16:19 闂傚倸鍊搁崐鎼佸磹閹间礁纾归柟闂寸绾剧懓顪冪€n亝鎹i柣顓炴閵嗘帒顫濋敐鍛婵°倗濮烽崑鐐烘偋閻樻眹鈧線寮撮姀鐘栄囨煕鐏炲墽鐓瑙勬礀閳规垿顢欑紒鎾剁窗闂佸憡顭嗛崘锝嗙€洪悗骞垮劚濞茬娀宕戦幘鑸靛枂闁告洦鍓涢敍娑㈡⒑閸涘⿴娈曞┑鐐诧躬閹即顢氶埀顒€鐣烽崼鏇ㄦ晢濠㈣泛顑嗗▍灞解攽閻樺灚鏆╁┑顔芥尦楠炲﹥寰勯幇顒傦紱闂佽宕橀褔鏌ㄩ妶鍡曠箚闁靛牆瀚崗宀勬煕濡粯宕屾慨濠呮閳ь剙婀辨慨鐢稿Υ閸愵亞纾奸柍褜鍓氱粭鐔煎焵椤掆偓椤曪綁骞庨懞銉ヤ簻闂佺鍋愰崑妯艰姳婵犳碍鈷戦柛鎰级閹牓鏌涙繝鍌ょ吋鐎规洩缍侀崺鈧い鎺戝閳锋垿鏌涘┑鍡楊伂妞ゎ偓绠撻弻娑㈠籍閳ь剟宕归崸妤冨祦闁告劦鍠栧洿婵犮垼娉涢敃锕傛晬濠婂啠鏀介柣鎰綑閻忥箓鏌ㄩ弴妤佹珕閻庨潧銈搁弫鎾绘晸閿燂拷
闂傚倸鍊搁崐鎼佸磹閹间礁纾圭€瑰嫭鍣磋ぐ鎺戠倞鐟滃繘寮抽敃鍌涚厱妞ゎ厽鍨垫禍婵嬫煕濞嗗繒绠婚柡宀嬬秮楠炲鏁愰崱鈺傤棄缂備胶鍋撻崕鍐册缚閿熺姴钃熼柡鍥ュ灩闁卞洦绻濋棃娑欐悙缂佹劖绋撶槐鎾存媴閻熺増鏆扮紓浣哄У閹瑰洤顕g拠娴嬫婵犲﹤瀛╂瓏濠碉紕鍋戦崐鎴﹀礉瀹€鍕疇婵せ鍋撴鐐插暣閹瑩宕崟顐も偓顓烆渻閵堝棗濮夊┑顔肩-閼鸿鲸绻濆顓涙嫼闂佽崵鍠撴晶妤呭箚閸喍绻嗘い鎰剁秵濞堟洜绱掗崒姘毙i柕鍫秮瀹曟﹢鍩¢崘銊ョ闂備胶鎳撻崥瀣偩椤忓牆鍨傚┑鐘宠壘閻撴繈鏌熼崜褏甯涢柣鎾寸洴閺屾稑鈽夐崡鐐典哗閻庢稒绻堝鐑樺濞嗘垵鍩岄梺鎼炲灪閻擄繝濡堕鍛嚤闁哄鍨块崬璺衡攽閻樼粯娑ч柣妤佺矊鍗辨い鏍仦閳锋帒霉閿濆毥褰掑箖閹寸姷纾煎ù锝堫潐鐏忥妇鈧鍠楅悡锟犲春閳╁啫顕遍弶鍫涘妽閵囨繄鈧娲忛崝宥囨崲濠靛洦濯撮柧蹇撴贡閺嗕即姊婚崒娆戠獢婵炰匠鍥ㄥ亱闁糕剝鐟﹀畷鏌ユ煙閻戞﹩娈曢柛瀣ф櫊濮婃椽顢楅埀顒傜矓閻㈠憡鍋傞柣鏃囧亹閸欐捇鏌涢妷锝呭闁抽攱甯炵槐鎺楁偐閸愭彃鎽甸梺鍝勭焿缂嶁偓缂佺姵鐩顒勫垂椤曞懏缍掑┑鐘愁問閸犳牠鏁冮敂鎯у灊妞ゆ牗绮庣粻鏃堟煟閺冨倸甯堕柣鎺戠仛閵囧嫰骞掗崱妞惧閻庡厜鍋撻柨婵嗙墕閸斿灚銇勯敂鐣屽弨闁硅棄鐖奸幃娆戠礄閻樼數鐣鹃梻渚€娼ч悧鍡涘箠鎼淬劌姹查柣鎰暯閸嬫挾鎲撮崟顒傤槬閻庢鍠涢崺鏍矚鏉堛劎绡€闁搞儺鐏涜閺屾稑鈽夐崡鐐茬濠电偛鐗婇悡锟犲箖濡ゅ啯鍠嗛柛鏇ㄥ墰椤︺劑姊虹紒妯绘儓缂佺粯绻傞锝嗙節濮橆厽娅㈤梺缁樓圭亸娆撳磹閻愮儤鈷戦梻鍫熶緱濡插爼鏌涙惔銈嗙彧缂佸倹甯楃缓浠嬪川婵犲嫬骞楅梺鐟板悑閻n亪宕归崗鑲╃彾婵☆垱鐪规禍婊堟煥閺冨倸浜鹃柡鍡╁墰閳ь剚顔栭崰鏍€﹂柨瀣╃箚闁归棿绀侀悡娑㈡煕鐏炲墽鐓紒銊ょ矙濮婄粯鎷呴崨闈涚秺瀵敻顢楅崒婊呯厯闂佺鎻€靛矂寮崒鐐寸叆闁绘洖鍊圭€氾拷14濠电姷鏁告慨鐑藉极閸涘﹥鍙忛柣鎴f閺嬩線鏌涘☉姗堟敾闁告瑥绻愰湁闁稿繐鍚嬬紞鎴︽煕閵娿儱鈧悂鍩為幋锕€纾兼慨姗嗗墻濡矂姊烘潪鎵槮闁挎洦浜濠氭偄閸忕厧浜遍梺鍓插亞閸犳捇宕欓敍鍕=濞达絽鎼宀勬煕閵娿儳鍩g€殿喖顭锋俊鎼佸煛閸屾矮绨介梻浣呵归張顒傜矙閹达富鏁傞柨鐕傛嫹
联系我们
我要留言
网站首页
毕业设计资料
开题报告
格式模板
任务书
外文翻译
文献综述
毕业设计指导
答辩PPT文稿
小程序毕业设计
Java毕业设计
PHP毕业设计
Python毕设
android毕设
ASP毕业设计
NET毕业设计
理工毕业论文
计算机
电子
机械设计
工程设计
留言本
当前位置:
首页
>
理工毕业论文
>
计算机
站内搜索(标题)
站内搜索(正文)
站内搜索(来源)
站内搜索(作者)
淘宝网搜索
当当网搜索
卓越网搜索
狗狗搜索
百度搜索
Google搜索
计算机
Visual C++中的开放数据库连接技术
时间:2020/10/14 13:26:44 作者: 来源: 查看:
30
评论:
0
<
内容摘要:
Visual C++中的开放数据库连接技术 摘 要 ODBC(Open DataBase Connectivity,开放数据库连接)提供了一组应用程序调用接口和一套运行支持环境,应用程序可以使用标准的函数进行数据库操作,而不必关心数据...
Visual C++中的开放数据库连接技术
摘 要
ODBC(Open DataBase Connectivity,开放数据库连接)提供了一组应用程序调用接口和一套运行支持环境,应用程序可以使用标准的函数进行数据库操作,而不必关心数据源来自于何种数据库管理系统(DBMS),只要有相应的驱动程序即可。本文介绍了ODBC的运行机制,着重讨论了Visual C++ 1.5下应用MFC进行ODBC编程的方法。
http://www.16sheji8.cn/
一、开放数据库连接
ODBC(Open DataBase Connectivity,开放数据库连接)是微软开放服务结构中有关数据库的一个组成部分。它建立了一组规范,并提供了一组应用程序调用接口。用这样一组接口建立的应用程序,对数据库的操作不依赖于任何数据库管理系统,不直接与任何DBMS打交道,由此可实现应用程序对不同DBMS的共享。数据库操作的“数据源”对应用程序是透明的,所有的数据库操作由对应DBMS的ODBC驱动程序(ODBC Driver)完成。有了ODBC驱动程序,数据源就变得十分广泛,它可以是本机的某种数据库格式的文件(如本机DOS目录下的Access文件*.mdb),也可以是远程数据库文件(如Microsoft SQL Server);它可以是目前已知的某种DBMS格式,也可以是一种全新的数据库格式。总之,它取决于提供了什么数据库类型的驱动程序。
Visual C++中的ODBC主要是实现基于Windows的关系数据库的应用的共享。
二、ODBC管理器
在ODBC中,数据源是一个重要的概念,它是数据库位置和数据库类型等连接信息的总和。数据源在使用前必须通过ODBC管理器 (Administrator)进行登录。在登录数据源时,要搞清数据源名(Datasource name)、数据库文件名(Database name)和数据表格名(Table name)这三者的概念和相互关系:数据源实际是一种数据连接的抽象,数据源名是登录时赋予的“连接”的名称,以供应用程序使用,至于该数据源下连接的是哪一个数据库,则由数据库文件名指出(如Access 2.0 for MS Offics中的.mdb文件);一个数据库文件中可以包括若干个数据表格(table)和其他内容。在关系@@09A05900.GIF;图1 ODBC层次关系图数据库中,数据是以二维表格的方式存在于数据库@@文件中,应用程序最终的操作目标即是这些表格中的行(row记录)和列(columns字段)数据。对于foxprow数据源,数据库文件名是“路径名”,而该路径下的所有数据文件(*.dbf)都属于该“数据库文件”名下的数据表格(table)。
ODBC管理器被装在Control Panel里(ODBCINST.CPL)。通过该工具可以增添、修改或删除数据源,也用来增添、删除ODBC驱动程序,ODBC管理器把数据源和它们的连接信息保存在ODBC.INI、ODBCINST.INI和ODBCISAM.INI中。当需要共享应用程序时,只需按新的数据文件的类型和位置重新登录即可。
三、ODBC应用程序接口
ODBC API是一组标准的ODBC函数库,除了一般的数据库操作函数外,还包括一组函数(如SQLExec或SQLExecdirect)能够内嵌标准SQL查询语句
。
SQL(Structured Query Language结构化查询语言)是一种存取关系型数据库的标准语言,能够定义、查询、修改和控制数据,简单的语句能够作用于整个数据表格,具有很强的功能。
同Windows 3.1 SDK中API类似,ODBC API也是基于句柄(handle)进行操作的。API函数按功能可分为以下几类:
·数据源连接函数,设置/获取有关信息的函数;
http://www.16sheji8.cn/
·准备/提交执行SQL查询语句的函数和获得数据的函数;
·终止函数和异常处理函数。
上述函数的顺序也表示了进行数据库操作的一般顺序。两个问题需要特别说明,一是数据类型问题:数据源中的数据所具有的数据类型称为SQL数据类型,这些数据类型在其数据源中可能比较特殊,不一定和ODBC SQL数据类型存储方式一致,驱动程序把这些数据类型同ODBC SQL数据类型进行相互转换,每一个ODBC SQL数据类型都相当于一个ODBC C语言数据类型;二是函数的调用级别问题,并不是每一个ODBC驱动程序都支持所有的ODBC API函数调用,在应用程序中,可以调用有关函数获取驱动程序以支持层次方面的信息。
四、ODBC应用编程
在Visual C++中,MFC (Microsoft Foundation Class基本类库)是经过对Windows应用程序中各个部件进行类的抽象而建立的一组预定义的类,如窗口基类(CWnd)、各种窗口派生类等等,这些类在应用程序中可直接使用,不需要重新定义。在MFC中,也为ODBC预定义了几个类,其中主要的是数据库类(CDatabase)和记录集合类(CRecoredset)。这两个类既有联系又有区别,在应用程序中,可以分别使用,也可以同时使用,每一类也可以同时存在多个对象。CDatabase的每一个对象代表了一个数据源的连接,CRecordset的每一个对象代表了从一个数据表中按预定的查询条件获得的记录的集合,一般说来,前者适宜于对数据源下的某个数据表格进行整体操作,后者用于对所选的记录集合进行处理。
同Windows类与SDK API 函数的关系一样,CDatabase类与ODBC API函数也有类似的关系,但CDatabase类中并不包含所有的ODBC API函数,大部分操作功能仍须直接调用ODBC API函数,如目录功能函数,用于获得数据源下的数据表格信息,如表格名,字段名等。
在应用编程时,一般使用CDatabase和CRecordset的派生类。假设派生类分别为CUserdb和CUserset,而在应用类CUserClass中,使用了一个CUserdb对象(m-db)和一个Cuserset对象(m-recset),图2给出了用户应用类与ODBC类的相互关系示意图。
@@09A05901.GIF;图2 CDatabase CRecordset类与应用类及数据源关系图@@
1.m-db连接数据源
m-db在完成定义构造后,要调用CDatabase的打开(Open)函数以进行数据源的实际连接:
m-db.Open(lpszDSN, bExclusive, bReadOnly, lpszConnect);
打开函数需要输入四个参数。lpszDSN:要连接的数据源的名字,如果lpszDSN=NULL且lpszConnect中也没有指明数据源名,则该调用会自动出现一个对话框列出所有可用的数据源(名),让用户选择。bExclusive:只支持“假”(False)值,表示为共享(share)方式连接。因此,应用程序在运行前,一定要装入share.exe或在Windows的system.ini中装入vshare.386。 ReadOnly:指明数据源操作方式是“只读”还是可以修改。 lpszConnect: 指明连接字符串,包括数据源名、用户标识码、口令等信息。该字符串必须以“ODBC;”开头,表示该连接是与一个ODBC数据源的连接(考虑以后版本支持非ODBC数据源)。
m-db打开后,其指针可以传给m-recset作为其数据源。m-db关闭后,将关闭所有CRecordset对它的连接,m-db也可以重新打开。
2.m-db操作数据
数据源打开后,即可对数据库文件中的数据表格进行操作,操作以调用SQL语句方式进行,可直接通过ODBC API函数,或者CDatabase类成员函数ExecuteSQL。数据表名在SQL语句中指定,如下语句则在所在的数据源中的clerk表中插入一个记录,记录的name字段值为"chen"。
m-db.ExecuteSQL("insert into clerk(name) value(’chen’)");3.m-recset连接数据m-recset在构造时,可传入一个CDatabase对象指针,作 为m-recset的数据源,当为NULL时,必须重载CRecordset的函数GetDefaultConnect,以提供数据源连接字符串(相当于m-db.Open中的lpszConnect)。如下则表示连接名为COMPANY的数据源(当传入了合法的CDatabase对象指针时,该函数将不被调用)。
CString CUserset::GetDefaultConnect()
http://www.16sheji8.cn/
{
return"ODBC;DSN=COMPANY
;";
}4.m-recset选取记录和字段
m-recset在调用打开函数时,即获得了符合条件的一组记录,条件语句在Open函数中的lpszSQL中给出,如果lpszSQL为NULL,则必须重载CRecordset的函数以提供该语句。该语句是一个SELECT语句,带或不带where和order by子句(如果不带,where和Order by的条件也可在CRecordset的两个预定义成员变量m-strFilter和m-strSort中给出)。lpszSQL也可以只是一个数据表名(table-name),也可以是对内嵌在数据库文件中的查询程序的调用语句。所选择的一系列字段名,在成员函数DoFieldExchange中由一系列RFX-函数指定。RFX-(Record Field Exchange)函数,使字段和成员变量一一建立类型对应关系。另外,m-strFilter中也可以带变量参数(用"?"表示,如"fieldl>=? AND field2<=?"),参数与成员变量的对应关系也在DoFieldExchange中由RFX-函数指定(串中的"?"将被参数变量值逐一替换)。
void CUserset::DoFieldExchange(CFieldExchange* pFX)
{
pFX->SetFieldType(CFieldExchange::outputColumn);
/*以下为字段连接 */
RFX-???(pFX,"field1",m-var1);
RFX-???(pFX,"field2",m-var2);
...
RFX-???(pFX,"fieldn",m-varn);
pFX->SetFieldType(CFieldExchange::param);
/*以下为参数连接*/
RFX-???(pFX,field1,m-param1);
RFX-???(pFX,field2,m-param2);
...
}其中,???为ODBC SQL数据类型名,如RFX-Double,RFX-Text等。
综合上述,选取记录和字段实际是由下列语句完成:
SELECT rfx-field-list FROM table-name[WHERE m-strFilter][ORDER BY m-strSort]
字段变量和参数变量的个数一定要在调用打开函数前(如构造函数中)准确地赋值给成员变量m-nFields和m-nParams。m-recset在打开后的任何时候调用Requery()函数,将根据新的查询条件(例如修改了参数变量值)重新选取记录。
5.m-recset操作数据
记录集合生成后,其当前记录的各字段值被保存在前述的各字段变量中,如果调用CRecordset的滚动(scroll)函数,如MoveFirst(),MoveNext(),MovePrev(),MoveLast()等,字段变量的值将自动跟随“当前”记录的位置的变化而变化。IsBOF(),IsEOF()用于判别是否移动到记录的头或尾。
数据操作主要包括删除(Delete),添加(AddNew)和更改(Edit),一般流程为:
if(m-recset.CanUpdate()) /*是否允许修改*/
{
if (m-db.CanTransact()) /*是否支持“批”处理*/
{
m-db.BeginTrans();
m-recset.AddNew();
/* 修改字段变量值 */
. . .
m-recset.Update();
m-db.CommitTrans();
if(catch error)
m-db.RollBack();
}
}
对于AddNew和Edit,修改字段变量后一定要调用函数Update(),否则更新将丢失,而Delete操作则不必进行字段值修改和调用Update()
。
上述的CDatabase的四个函数是ODBC为保证数据操作的可靠性而提供的“批”处理函数,即在BeginTrans和CommitTrans之间的数据修改如果出现任何异常,可通过函数RoolBack来恢复所做的修改。
在多用户系统使用时,每一个数据源可以被多个用户的多个任务连接,不同的任务可同时修改相同的数据源。ODBC提供了两种数据表更新的同步机制(在m-recset.Open函数中指定),“静态”的(snapshot)和动态的(dynaset)。前者是一组静态的记录集合,当建立后不会改变,除了反应自己的添加/删除外,不反应别的用户的修改,除非调用了Requery重新建立。后者是一组动态的记录集合,自己或别的用户所作的修改随时反应到集合中来(当然也可用Requery重建),以保持记录与数据源的同步。在应用中,应根据需要确定使用哪一种方式。
http://www.16sheji8.cn/
五、结束语
从以上讨论可以看出,ODBC应用接口十分简便!再加上Visual C++中的AppWizard和ClassWizard自动生成框架代码功能,连接一个数据源,生成一个CRecordset对象,就更快捷了。
应用程序只需关心数据的处理而不必费心数据的存取,另外,另一个与ODBC有关的类CRecordView,是一个窗口类CWnd的派生类,建立在CRecordset上,可直接构造数据库记录显示窗口,某些情况下也不妨一用。
上一篇:
EXCEL在工资管理中的运用
下一篇:
ASP技术在道路交通管理中的应
相关评论
闂傚倸鍊搁崐鎼佸磹閹间礁纾归柟闂寸绾惧湱鈧懓瀚崳纾嬨亹閹烘垹鍊為悷婊勭矊闇夐柡宥庡幗閻撳繐鈹戦悙闈涗壕婵炲懎妫濋弻娑㈠Χ閸涱収浼冮梺鍝勮閸婃鍒掑▎鎴炲磯闁靛ǹ鍊楁す铏節閻㈤潧浠滈柟铏姈閹便劑宕归銈傛敵婵犵數濮村ú銈呮纯闂備胶枪閺堫剟鎯岄鐣岀彾闁哄洢鍨洪埛鎺懨归敐澶樻濞戞捁灏欑槐鎺楃叓椤撶姷鐓撻梺璇″枟閿氭い顐g箖濞煎繘鍩¢崘顏呮闂傚倷鑳剁划顖氼潖婵犳艾鍌ㄧ憸鏃堝箖閻愬搫鍨傛い鎰С缁ㄥ姊洪悷鐗堟儓婵☆偅顨嗙粋宥嗐偅閸愨斁鎷烘繛鏉戝悑閻熝囧礆娴煎瓨鐓曢柕蹇ョ磿閸欌偓闂佺硶鏅濋崑銈夌嵁鐎n喗鍋愭い鎰垫線婢规洟姊洪幐搴g畵濡ょ姴鎲$粋宥呪堪閸忕姷鎳撻オ浼村礃椤忓柊銊モ攽椤旂》榫氭繛鍜冪悼濡叉劙骞掗幊宕囧枛閹煎綊鏌呭☉娆樻晣闂佽楠搁崢婊堝磻閹剧粯鐓ユ繝闈涙閸f椽鏌涚€c劌鍔氶柍瑙勫灴閸ㄦ儳鐣烽崶褏鍘介梻浣筋嚃閸燁偊宕惰閸炲爼姊洪棃娑氱疄闁糕晛瀚板畷顖涙償閵婏腹鎷绘繛杈剧悼閸庛倝宕甸埀顒€顪冮妶鍡樺闁告瑥鍟悾鐑藉箣閿旇棄鈧兘鏌涘┑鍡楊伀闁伙綁绠栧娲礈閹绘帊绨撮梺绋垮閻擄繝骞冮垾鏂ユ瀻闁规儳顕崢閬嶆⒑閻熸壆鎽犻柣鐔村劦閸┾偓妞ゆ帊鑳舵晶閬嶆煃瑜滈崜姘舵偄椤掑嫬绠柨鐕傛嫹...
闂傚倸鍊搁崐鎼佸磹閹间礁纾归柟闂寸绾惧湱鈧懓瀚崳纾嬨亹閹烘垹鍊為悷婊勭矊闇夐柡宥庡幗閻撳繐鈹戦悙闈涗壕婵炲懎妫濋弻娑㈠Χ閸涱収浼冮梺鍝勮閸婃鍒掑▎鎴炲磯闁靛ǹ鍊楁す铏節閻㈤潧浠滈柟铏姈閹便劑宕归銈傛敵婵犵數濮村ú銈呮纯闂備胶枪閺堫剟鎯岄鐣岀彾闁哄洢鍨洪埛鎺懨归敐澶樻濞戞捁灏欑槐鎺楃叓椤撶姷鐓撻梺璇″枟閿氭い顐g箖濞煎繘鍩¢崘顏呮闂傚倷鑳剁划顖氼潖婵犳艾鍌ㄧ憸鏃堝箖閻愬搫鍨傛い鎰С缁ㄥ姊洪悷鐗堟儓婵☆偅顨嗙粋宥嗐偅閸愨斁鎷烘繛鏉戝悑閻熝囧礆娴煎瓨鐓曢柕蹇ョ磿閸欌偓闂佺硶鏅濋崑銈夌嵁鐎n喗鍋愭い鎰垫線婢规洟姊洪幐搴g畵濡ょ姴鎲$粋宥呪堪閸忕姷鎳撻オ浼村礃椤忓柊銊モ攽椤旂》榫氭繛鍜冪悼濡叉劙骞掗幊宕囧枛閹煎綊鏌呭☉娆樻晣闂佽楠搁崢婊堝磻閹剧粯鐓ユ繝闈涙閸f椽鏌涚€c劌鍔氶柍瑙勫灴閸ㄦ儳鐣烽崶褏鍘介梻浣筋嚃閸燁偊宕惰閸炲爼姊洪棃娑氱疄闁糕晛瀚板畷顖涙償閵婏腹鎷绘繛杈剧悼閸庛倝宕甸埀顒€顪冮妶鍡樺闁告瑥鍟悾鐑藉箣閿旇棄鈧兘鏌涘┑鍡楊伀闁伙綁绠栧娲礈閹绘帊绨撮梺绋垮閻擄繝骞冮垾鏂ユ瀻闁规儳顕崢閬嶆⒑閻熸壆鎽犻柣鐔村劦閸┾偓妞ゆ帊鑳舵晶閬嶆煃瑜滈崜姘舵偄椤掑嫬绠柨鐕傛嫹...
理工毕业论文
计算机
电子
机械设计
工程设计
本类更新
10-14
智能家居系统在安卓平台的应用
10-14
无线局域网技术
10-14
智能家居系统的设计与实现
10-14
从教师和学生的统一视角看高等教育电子学习持续满意度
10-14
计算机发展史
10-14
JSP及其WEB技术
10-14
SQL Server 连接基础知识
10-14
JSP的技术发展历史
10-14
风景旅游服务系统的设计
10-14
在线订餐系统的设计与实现
本类推荐
本类排行
10-14
Java的实时规范
10-14
JSP的技术发展历史
10-14
智能家居系统的设计与实现
10-14
局域网智能负载平衡系统的研究与应用
10-14
ASP制作学生档案管理系统-计算机类毕业论文免费下载
10-14
ASP.NET的网站新闻管理系统设计与实现-计算机类毕业论文免费下载
10-14
基于CORBA的电子商务系统的安全性-毕业论文免费下载
10-14
实时性远程答疑系统-毕业论文免费下载
10-14
校园网站设计-毕业论文免费下载
10-14
用备课系统开发远程教育课件-毕业论文免费下载
小程序中文网
|
小白教程网
|
小程序教学网
|
关于我们
-
服务报价
-
付款方式
广告联系QQ:45157718
电话:13516821613 杭州余杭东港路118号雷恩国际科技创新园
网站技术支持:黄菊华互联网工作室
浙ICP备06056032号