




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
三、VB基本語(yǔ)言3.1代碼書寫規(guī)范1.如一行寫多條語(yǔ)句,語(yǔ)句間用“:”分隔2.一條語(yǔ)句如寫在多行,行尾加續(xù)行符“_”(一個(gè)空格加一個(gè)下劃線)3.單行注釋以單引號(hào)打頭。如要快速將多行設(shè)為注釋,可先選中,然后單擊”編輯”工具欄”設(shè)置注釋塊”。取消則用“解除注釋塊按鈕”。3.2數(shù)據(jù)類型1.基本類型數(shù)據(jù)類型關(guān)鍵字類型符前綴占字節(jié)數(shù)字節(jié)型ByteByt1邏輯型BooleanBln2整形Integer%Int2長(zhǎng)整型Long&Lng4單精度型Single!Sng4雙精度型Double#Dbl8貨幣型Currency@Cur8日期型Date(time)Dtm8字符型String$Str與字符串長(zhǎng)度關(guān)于對(duì)象型ObjectObj4變體型VariantVnt注:類型轉(zhuǎn)換規(guī)則:Integer<Long<Single<Double<Currency但Long與Double運(yùn)算時(shí),結(jié)果為Double,而非single2.自定義類型(類似于C語(yǔ)言結(jié)構(gòu)體)定義語(yǔ)法:[Public|private]Type自定義類型名組員名As數(shù)據(jù)類型組員名As數(shù)據(jù)類型…..End注:**As數(shù)據(jù)類型不能用縮寫符號(hào)代替。如不能夠用%代替Asinteger**在標(biāo)準(zhǔn)模塊定義自定義類型可用public或private,但如在窗體模塊中定義只能用Private3.3常量1.長(zhǎng)整型常量:如123&2.單精度常量:如1.231.23!0.123E+13.雙精度常量:如1.23#0.123E+1#0.123D+1注:數(shù)值型常量默認(rèn)為十進(jìn)制,如使用八進(jìn)制前加&O,如使用十六進(jìn)制前加&H4.日期型常量任意日期形字符串用#括起來(lái)。如:#1Jan,97##1998-5-1212:30:00pm#5.邏輯型常量True和False邏輯數(shù)據(jù)轉(zhuǎn)換為整型時(shí):true轉(zhuǎn)換為-1false轉(zhuǎn)換為0其它類型轉(zhuǎn)換為邏輯數(shù)據(jù)時(shí):非0為True0為False6.字符型常量:用雙引號(hào)括起來(lái),sever中用單引號(hào)**VB中一個(gè)西文字符和一個(gè)漢字都占兩個(gè)字節(jié)3.4變量與常量定義1.變量定義格式:Dim|Private|Public|Static變量名[As類型]注:**[As類型]可用變量名后緊跟類型符代替**[As類型]缺省為變體型**可同時(shí)定義多個(gè)變量,但每個(gè)變量都要指明類型。如:dimx%,y%,z!**字符型變量分為定長(zhǎng)和變長(zhǎng)兩種,定義方法變長(zhǎng)字符變量:Dim變量名Asstring定長(zhǎng)字符變量:Dim變量名Asstring*字符數(shù)如:dimc1asstring*8**VB中變量可不定義,直接使用,由所賦值決定其類型但最好強(qiáng)制變量申明,這么易發(fā)覺錯(cuò)誤。方法:”工具”菜單選項(xiàng)”編輯器”選項(xiàng)卡勾選”強(qiáng)制變量申明”2.常量定義格式:Public|PrivateConst常量名[As數(shù)據(jù)類型]=值注:**[As類型]缺省,則常量類型由所賦值決定**[As類型]可用常量名后緊跟類型符代替3.4運(yùn)算符1.算術(shù)運(yùn)算符:^(乘方)-(負(fù)號(hào))*/\(整除)Mod+-從左到右優(yōu)先級(jí)由高到低2.字符串連接符:+操作數(shù)須均為字符型&操作數(shù)可為字符型或數(shù)值型,連接前會(huì)自動(dòng)轉(zhuǎn)換為字符型注:變量與&符號(hào)之間應(yīng)加空格,因?yàn)?還是數(shù)據(jù)類型符3.關(guān)系運(yùn)算符:=>>=<<=<>LikeIs注:**關(guān)系運(yùn)算符優(yōu)先級(jí)相同**數(shù)值型操作數(shù)按大小比較,字符型操作數(shù)按ASCII碼大小比較**LIKE類似于SQL中Like,可與通配符?、*、#、[范圍]、[!范圍]結(jié)合使用?任意單字符*任意字符串#任意一個(gè)數(shù)值4.邏輯運(yùn)算符:Not、And、Or、Xor(異或)、Eqv(等價(jià))、Imp(蘊(yùn)含)注:如操作數(shù)是數(shù)值,則以數(shù)字二進(jìn)制值逐位進(jìn)行邏輯運(yùn)算。例:1011and0111得到0010對(duì)應(yīng)十進(jìn)制數(shù)25.各種運(yùn)算符優(yōu)先級(jí)算術(shù)運(yùn)算符>關(guān)系運(yùn)算符>邏輯運(yùn)算符3.5慣用內(nèi)部函數(shù)1.?dāng)?shù)學(xué)函數(shù)Abs(N)取絕對(duì)值Rnd(N)產(chǎn)生0~1之間隨機(jī)數(shù)Sgn(N)符號(hào)函數(shù)。N>0返回1,N<0返回-1,N=0返回0Sqr(N)平方根2.轉(zhuǎn)換函數(shù)Str$(N)數(shù)值轉(zhuǎn)換為字符串Val(C)(數(shù)字)字符串轉(zhuǎn)換為數(shù)值A(chǔ)sc(C)字符轉(zhuǎn)換成Ascii碼Chr$(Ascii碼)Ascii碼轉(zhuǎn)換成字符Fix(N)取整,直接去掉小數(shù)點(diǎn)及小數(shù)Int(N)取小于N最大整數(shù)Hex[$](N)十進(jìn)制轉(zhuǎn)換成十六進(jìn)制Oct[$](N)十進(jìn)制轉(zhuǎn)換成八進(jìn)制3.字符串函數(shù)約定:C、C1、C2代表字符串N、N1、N2代表整數(shù)Left$(C,N)取字符串左邊n個(gè)字符Right(C,N)取字符串右邊n個(gè)字符Mid$(C,N1,N2)在C中從N1向右取N2個(gè)字符Len(C)返回字符串中字符數(shù)LenB(C)返回字符串所占字節(jié)數(shù)Ltrim$(C)去掉字符串左邊空格Rtrim$(C)去掉字符串右邊空格StrComp(C1,C2[,M])若C1>C2返回1,C1<C2返回-1,C1=C2返回0StrReverse(C)返回逆置后字符串InStr([N1],C1,C2,[M])返回子串C2在C1中位置。從N1開始找,省略N1從頭找。M=0(默認(rèn))區(qū)分大小寫,M=1不區(qū)分*InstrRev(C1,C2,[N1],[M])同InStr,只是從串尾開始找,返回位置都是從串頭開始算左側(cè)第一個(gè)字符為1Replace(C,C1,C2[,N1][,N2][,M])用C2替換C中子串C1,從N1(省略從頭)開始找C1,替換N2Join(A[,分隔符])返回?cái)?shù)組各元素按分隔符連接而成字符串。如A=array(“12”,”3”,”4”)Join(A,””Split(C[,分隔符])將字符串C按分隔符分隔成字符數(shù)組。如S=Split(“123,56,ab”,“,”)則S(0)=”123”S(1)=”56”S(2)=”String$(N,C)返回由C中首字符重復(fù)N次組成字符串。如:String$(3,”abc”)返回”aaa”Space$(N)返回N個(gè)空格組成字符串注:字符編碼常識(shí)Windows對(duì)字符采取DBCS編碼,西文字符與Ascii碼一樣是單字節(jié),漢字是兩字節(jié)VB采取UniCode(國(guó)際標(biāo)準(zhǔn)化組織字符標(biāo)準(zhǔn)),不論中西文一律采取兩個(gè)字節(jié)。對(duì)于Ascii碼也是兩字節(jié),前一字節(jié)全補(bǔ)04.字符串編碼轉(zhuǎn)換函數(shù)StrConv格式:StrConv(C,VbFromUnicode|VbUnicode)注:VbFromUnicode將Unicode碼轉(zhuǎn)換成DBCS碼VbUnicode將DBCS碼轉(zhuǎn)換成Unicode碼**VB下不能顯示DBCS編碼字符串,是亂碼。因?yàn)閂B以Unicode碼處理字符串。5.日期函數(shù)6.格式輸出函數(shù)7.SHELL函數(shù)8.與用戶交互函數(shù)InputBox打開一個(gè)輸入對(duì)話框,供輸入數(shù)據(jù)格式:變量=InputBox(提醒字符串[,對(duì)話框標(biāo)題][,顯示在輸入框默認(rèn)值][,x,y])注:x,y為對(duì)話框左上角坐標(biāo)MsgBox輸出消息對(duì)話框格式:變量=MsgBox(提醒[,按鈕類型][,對(duì)話框標(biāo)題])MsgBox提醒[,按鈕類型][,對(duì)話框標(biāo)題]注:按鈕類型:3.6程序控制結(jié)構(gòu)1.選擇結(jié)構(gòu)VBC語(yǔ)言選擇結(jié)構(gòu)1if條件then語(yǔ)句(只能寫在一行)如有多條語(yǔ)句須用:分隔If(條件)語(yǔ)句塊;或?qū)懗蒳f(條件)語(yǔ)句塊;If條件then語(yǔ)句塊endif變量=iif(條件,True時(shí)值,F(xiàn)alse時(shí)值)變量=條件?表示式,表示式22If條件then語(yǔ)句塊else語(yǔ)句塊endifIf(條件)語(yǔ)句else語(yǔ)句If條件then語(yǔ)句1else語(yǔ)句2(只能寫在一行)3If條件then語(yǔ)句塊elseif條件then語(yǔ)句塊…else語(yǔ)句塊endifIf(條件)語(yǔ)句Elseif(條件)語(yǔ)句Elseif(條件)語(yǔ)句….Else語(yǔ)句4SelectCase表示式Case值列表1語(yǔ)句塊Case值列表2語(yǔ)句塊….CaseElse語(yǔ)句塊EndSelect注:值列表例:Case1Case1to10Case2,4,6,8CaseIs>10Case1,2to6,Is>10Switch(表示式){case常量表示式1:語(yǔ)句;break;case常量表示式1:語(yǔ)句;break;case常量表示式1:語(yǔ)句;break;….Default:語(yǔ)句}For循環(huán)變量=初值to終值[step步長(zhǎng)]語(yǔ)句塊[ExitFor]Next循環(huán)變量For(exp1;exp2;exp3)語(yǔ)句9.3使用ADO訪問(wèn)數(shù)據(jù)庫(kù)9.3.1ADO經(jīng)過(guò)OLEDB訪問(wèn)不一樣類型數(shù)據(jù)源。OLEDB是底層編程接口,主要包含3個(gè)部分。數(shù)據(jù)提供者:從各種數(shù)據(jù)源(如數(shù)據(jù)庫(kù)、文本文件、電子表格等)讀取數(shù)據(jù),并將這些數(shù)據(jù)轉(zhuǎn)換成數(shù)據(jù)消費(fèi)者支持格式(通常為關(guān)系型數(shù)據(jù)表)。數(shù)據(jù)消費(fèi)者:使用數(shù)據(jù)提供者提供數(shù)據(jù)應(yīng)用程序。(幾是使用ADO應(yīng)用程序都是消費(fèi)者)服務(wù)組件:作用是連接數(shù)據(jù)消費(fèi)者和數(shù)據(jù)提供者。或?qū)?shù)據(jù)轉(zhuǎn)換為不一樣類型。9.3.2ADO中包含7個(gè)對(duì)象,其中3個(gè)獨(dú)立對(duì)象Connection、Command、Recordset和4個(gè)非獨(dú)立對(duì)象(依賴獨(dú)立對(duì)象才能使用)Field、Error、Parameter、Property在VB中使用ADO必須先引用:“工程”菜單引用選“MicrosoftActiveXDataObjects2.0Library”確定新方法:(5月25日星期三整理)startPrivateCurSqlSeverAsString*15,CurDataBaseAsString*15,CurUserNameAsString*15,CurPasswordAsString*15DimcnAsNewADODB.Connection'定義連接變量DimrsAsNewADODB.Recordset'定義統(tǒng)計(jì)集變量'初始化連接變量,以操作詳細(xì)數(shù)據(jù)庫(kù)cn.ConnectionString="Driver={sqlserver}"&";server="&Trim(CurSqlSever)&";uid="&Trim(CurUserName)&";pwd="&Trim(CurPassword)&";database="&Trim(CurDataBase)cn.ConnectionTimeout=30'設(shè)置連接超時(shí)為30秒cn.Open'打開連接'打開/關(guān)閉統(tǒng)計(jì)集rs.Open"SELECT語(yǔ)句",cn,adOpenStatic,adLockReadOnly,adCmdTextrs.Closefinish'執(zhí)行更新操作cn.Execute"update語(yǔ)句"Connection對(duì)象:即連接對(duì)象,主要用于建立數(shù)據(jù)源(如數(shù)據(jù)庫(kù))連接,任何對(duì)數(shù)據(jù)源其余操作都建立在連接基礎(chǔ)上。連接建立步驟:s1:定義并實(shí)例化連接對(duì)象dim連接對(duì)象指針名(如objcn)asConnectionset連接對(duì)象指針名=newConnections2:指定數(shù)據(jù)提供者類型連接對(duì)象指針名.Provider=”數(shù)據(jù)提供者類型”如:指定數(shù)據(jù)提供者為SQLSEVER數(shù)據(jù)庫(kù)objcn.Provider=”SQLOLEDB”s3:設(shè)置連接信息即設(shè)置Connection對(duì)象ConnectionString(連接字符串)屬性,不一樣類型數(shù)據(jù)提供者,ConnectionString參數(shù)是不一樣。例:連接SQLSEVER數(shù)據(jù)庫(kù)“學(xué)習(xí)分制選課”,用戶sa可訪問(wèn)該數(shù)據(jù)庫(kù),sa用戶密碼是123,數(shù)據(jù)庫(kù)所在服務(wù)器為當(dāng)?shù)胤?wù)器連接對(duì)象指針名.ConnectionString=”UserID=sa;PWD=123;DataSource=(local);InitialCatalog=學(xué)分制選課”連接字符串主要參數(shù)說(shuō)明:Provider:指定數(shù)據(jù)提供者類型,同連接對(duì)象Provider屬性(二者只要設(shè)置一個(gè)即可)UserID或UID:具備要連接數(shù)據(jù)庫(kù)訪問(wèn)權(quán)限用戶名Password或PWD:上述用戶密碼DataSource或Sever:要連接數(shù)據(jù)庫(kù)所在SQLSever服務(wù)器名NetworkAddress:要連接數(shù)據(jù)庫(kù)所在SQLSever服務(wù)器IP地址。*如設(shè)置了該參數(shù),則無(wú)需再設(shè)置DataSourceInitialCatalog或Database:指定要連接數(shù)據(jù)庫(kù)名稱注:參數(shù)名不區(qū)分大小寫,參數(shù)在連接字符串中不分先后次序,參數(shù)之間用分號(hào)分隔***快速取得連接字符串,以SQLSEVER數(shù)據(jù)為例,方法:打開記事本不輸入任何內(nèi)容,直接選另存為保留類型下拉框選”全部文件”文件名框輸入:文件名.udl單擊保留雙擊打開剛才建立UDI文件選“提供程序”選項(xiàng)卡選擇適宜提供程序,選”MicrosoftOLEDBProviderforSQLSEVER”單擊“下一步”選擇或輸入服務(wù)器名稱框:用于設(shè)置要連接數(shù)據(jù)庫(kù)所在服務(wù)器使用WindowsNT集成安全設(shè)置:即使用當(dāng)前Windows用戶身份訪問(wèn)數(shù)據(jù)庫(kù)(當(dāng)然該用戶應(yīng)具備訪問(wèn)權(quán)限)使用指定用戶名和密碼:用SEVER登錄帳戶訪問(wèn)數(shù)據(jù)庫(kù)在服務(wù)器上選擇數(shù)據(jù)庫(kù):選擇要連接數(shù)據(jù)庫(kù)測(cè)試連接:測(cè)試能否正確連接***快速取得連接字符串,以Access數(shù)據(jù)庫(kù)為例,方法雙擊打開剛才建立UDI文件選“提供程序”選項(xiàng)卡選擇適宜提供程序,選”MicrosoftJet3.51OLEDBProvider”單擊“下一步”選擇或輸入數(shù)據(jù)庫(kù)名稱:用于設(shè)置要連接數(shù)據(jù)庫(kù)輸入數(shù)據(jù)庫(kù)登錄信息測(cè)試連接:測(cè)試能否正確連接s4:打開連接:連接對(duì)象指針名.open(open是連接對(duì)象方法)如:objcn.open斷開連接:連接對(duì)象指針名.close如:objcn.close釋放連接對(duì)象:set連接對(duì)象指針名=Nothing***當(dāng)完成對(duì)數(shù)據(jù)庫(kù)訪問(wèn)后,應(yīng)用close方法斷開連接,斷開后可用open方法重新打開。如連接斷開后不再使用。應(yīng)釋放連接對(duì)象2、Command對(duì)象:即命令對(duì)象,用于執(zhí)行各種SQL命令或存放過(guò)程。(1)慣用屬性ActiveConnection:設(shè)置命令對(duì)象使用活動(dòng)連接,也可返回CommandText:設(shè)置命令對(duì)象使用SQL命令、存放過(guò)程名、或表名稱,也可返回CommandType:說(shuō)明CommandText值類型,其值與對(duì)應(yīng)含義:AdCmdTextSQL命令A(yù)dCmdStoreProc存放過(guò)程AdCmdTable表名稱State:返回命令當(dāng)前所處狀態(tài),值與含義:AdStateConnecting連接AdStateOpen打開AdStateClosed關(guān)閉AdStateExecuting正在執(zhí)行AdStateFetching正在讀取統(tǒng)計(jì)**Connection對(duì)象和Recordset對(duì)象也包含State屬性(2)慣用方法Cancel:撤消正在執(zhí)行命令Execute:執(zhí)行(用CommandText屬性指定)命令Createparameter:創(chuàng)建參數(shù)對(duì)象,方便執(zhí)行帶參數(shù)存放過(guò)程(3)命令對(duì)象創(chuàng)建法一:從已經(jīng)打開連接上創(chuàng)建命令對(duì)象,即先建立并打開連接,然后設(shè)置命令對(duì)象ActiveConnection屬性為剛才建立連接。該方式效率最高例:Dimobjcnasconnection,objcmdascommandsetobjcn=newconnectionvider=”SQLOLEDB”objcn.connectionstring=”uid=sa;pwd=123;sever=(local);Database=學(xué)分制選課”objcn.opensetobjcmd=newcommandsetobjcmd.activeConnection=objcnobjcmd.CommandText=”Update選課統(tǒng)計(jì)set成績(jī)=成績(jī)+10”objcmd.CommandType=adCmdtextobjcmd.Execute法二:創(chuàng)建獨(dú)立Command對(duì)象,將把原來(lái)連接字符串中放置連接信息放在命令對(duì)象確實(shí)ActiveConnection屬性即可。該法無(wú)需創(chuàng)建單獨(dú)連接。例:dimobjcmdascommandsetobjcmd=newcommandsetobjcmd.activeConnection=”Provider=SQLOLEDB;uid=sa;pwd=123;sever=(local);Database=學(xué)分制選課”objcmd.CommandText=”Update選課統(tǒng)計(jì)set成績(jī)=成績(jī)+10”objcmd.CommandType=adCmdtextobjcmd.Execute3、Recordset對(duì)象:即統(tǒng)計(jì)集對(duì)象,用于保留查詢?nèi)〉媒y(tǒng)計(jì)以及將修改后統(tǒng)計(jì)返回服務(wù)器。(1)基本屬性ActiveConnection:設(shè)置統(tǒng)計(jì)集對(duì)象使用活動(dòng)連接,也可返回CursorLocation:設(shè)置統(tǒng)計(jì)指針(也稱光標(biāo)、游標(biāo))位置,默認(rèn)為adUseSeverCursorType:設(shè)置統(tǒng)計(jì)指針(即統(tǒng)計(jì)集)類型,默認(rèn)為adOpenForward常量與含義:adOpenForwardOnly僅向前指針(統(tǒng)計(jì)集)adOpenKeyset鍵集指針adOpendynamic動(dòng)態(tài)指針adOpenStatic靜態(tài)指針***有數(shù)據(jù)提供者不支持全部指針Filter:設(shè)置統(tǒng)計(jì)集中統(tǒng)計(jì)滿足條件,也可返回LockType:設(shè)置統(tǒng)計(jì)加鎖類型,默認(rèn)為adLockReadonly。也可返回Sort:對(duì)統(tǒng)計(jì)集中統(tǒng)計(jì)排序。RecordCount:返回統(tǒng)計(jì)集中統(tǒng)計(jì)個(gè)數(shù)State:返回統(tǒng)計(jì)集當(dāng)前狀態(tài)Bof:返回統(tǒng)計(jì)指針是否指向第一條統(tǒng)計(jì)之前,邏輯型Eof:返回統(tǒng)計(jì)指針是否指向最終一條統(tǒng)計(jì)之后,邏輯型pageSize:設(shè)置統(tǒng)計(jì)集每個(gè)統(tǒng)計(jì)頁(yè)統(tǒng)計(jì)條數(shù),默認(rèn)值是10。也可返回pageCount:返回統(tǒng)計(jì)頁(yè)個(gè)數(shù)。absolutePage:返回當(dāng)前統(tǒng)計(jì)頁(yè)序號(hào)AbsolutePosition:返回當(dāng)前統(tǒng)計(jì)指針絕對(duì)位置(序號(hào)),第一條統(tǒng)計(jì)為0Bookmark:返回惟一標(biāo)識(shí)當(dāng)前統(tǒng)計(jì)書簽,或設(shè)置書簽標(biāo)識(shí)統(tǒng)計(jì)為當(dāng)前統(tǒng)計(jì)慣用方法movefirst、movelast、moveNext、movePrevious、moven類似DAOfind(2)統(tǒng)計(jì)集對(duì)象創(chuàng)建
法1:使用Command對(duì)象創(chuàng)建統(tǒng)計(jì)集對(duì)象即設(shè)置命令對(duì)象命令文本為Select查詢語(yǔ)句,然后實(shí)例化統(tǒng)計(jì)集對(duì)象為命令對(duì)象.Execute例:dimobjcnasConnection,objcmdasCommand,objrsasRecordsetsetobjcn=newconnectionsetobjcmd=newcommandsetobjrs=newrecordsetWvider=”SQLOLEDB”.ConnectionString=”uid=sa;pwd=123;Sever=(local);Database=學(xué)分制選課”.OpenendwithWithobjcmd.ActiveConnection=objcn.CommandText=”select*from學(xué)生信息”.CommandType=adcmdtextendwithsetobjrs=objcmd.Execute法2:直接使用統(tǒng)計(jì)集對(duì)象Open方法創(chuàng)建統(tǒng)計(jì)集對(duì)象例:dimobjcnasConnection,objrsasRecordsetsetobjcn=newconnectionsetobjrs=newrecordsetwithvider=”SQLOLEDB”.ConnectionString=”uid=sa;pwd=123;Sever=(local);Database=學(xué)分制選課”.Openendwithwithobjrs.ActiveConnection=objcn.open“select*from學(xué)生信息”endwith注:如要設(shè)置同一對(duì)象多個(gè)屬性,使用with對(duì)象名…endwith,可防止數(shù)次書寫對(duì)象名麻煩法3:創(chuàng)建獨(dú)立統(tǒng)計(jì)集對(duì)象,該法無(wú)需先創(chuàng)建一個(gè)連接對(duì)象例:dimobjrsasrecordset,strcn$,strSQL$setobjrs=newrecordsetstrcn=”provider=SQLOLEDB;uid=sa;pwd=123;Sever=(local);Database=學(xué)分制選課”strSQL=”select*from學(xué)生信息”objrs.openstrSQL,strcn法4:創(chuàng)建斷開連接統(tǒng)計(jì)集對(duì)象Recordset對(duì)象在使用時(shí),并非必須保持與數(shù)據(jù)庫(kù)連接斷開連接Recordset對(duì)象可節(jié)約服務(wù)器維持連接所需開銷對(duì)斷開連接Recordset對(duì)象所做更新操作,高速緩存在當(dāng)?shù)赜?jì)算機(jī)中重建連接后,可使用UpdateBatch將更新送到服務(wù)器創(chuàng)建方法:使用統(tǒng)計(jì)集對(duì)象open方法打開統(tǒng)計(jì)集,同時(shí)要指定CursorLocation為aduseClient,LockType為adLockBatchOptimistic。然后再斷開與數(shù)據(jù)庫(kù)連接。之后可使用已經(jīng)斷開連接統(tǒng)計(jì)集。如需保留修改到服務(wù)器,則重建連接,然后使用統(tǒng)計(jì)集對(duì)象UpdateBatch方法例:’定義并實(shí)例化對(duì)象dimobjcnasConnection,objrsasrecordsetsetobjcn=newConnectionsetobjrs=newRecordset‘創(chuàng)建數(shù)據(jù)庫(kù)鏈接withvider=”SQLOLEDB”.ConnectionString=”uid=sa;pwd=123;Sever=(local);Database=學(xué)分制選課”.Openendwith‘使用統(tǒng)計(jì)集open方法創(chuàng)建統(tǒng)計(jì)集對(duì)象withobjrs.ActiveConnection=objcn.CursorLocation=aduseClient‘使用客戶端統(tǒng)計(jì)指針.LockType=adLockBatchOptimistic‘使用開放式批更新鎖定.open“select*from學(xué)生信息”endwith‘?dāng)嚅_數(shù)據(jù)庫(kù)連接setobjrs.activeConnection=Nothingobjcn.close……‘使用統(tǒng)計(jì)集‘重新建立連接objcn.openobjrs.ActiveConnection=objcnobjrs.UpdateBatch(3)引用統(tǒng)計(jì)集中字段例:引用統(tǒng)計(jì)集objrs中“姓名”字段,該字段是第2個(gè)字段,有以下幾個(gè)方法:txtname=objrs!姓名‘效率較高txtname=objrs.fields(2)txtname=objrs.fields(“姓名”)txtname=objrs.fields(2).valuetxtname=objrs.fields(“姓名”).value(4)統(tǒng)計(jì)集排序例:按”學(xué)號(hào)”字段對(duì)統(tǒng)計(jì)集objrs排序,要求升序objrs.Sort=”學(xué)號(hào)ASC”取消對(duì)統(tǒng)計(jì)集排序objrs.Sort=””注:統(tǒng)計(jì)集排序只影響訪問(wèn)統(tǒng)計(jì)次序,實(shí)際數(shù)據(jù)庫(kù)并沒有排序可按多個(gè)字段排序,字段間用逗號(hào)分隔排序可按ASC(默認(rèn))或DESC(5)篩選統(tǒng)計(jì)集中統(tǒng)計(jì)例:使統(tǒng)計(jì)集objrs中只包含90年1月1日后出生統(tǒng)計(jì)objrs.Filter=”出生日期>#1990-1-1#”取消對(duì)統(tǒng)計(jì)集篩選objrs.Filter=””或objrs.Filter=adFilterNone注:字符串中字符串用單引號(hào)括起來(lái),日期用#括起來(lái)。字符串中可使用關(guān)系運(yùn)算符、邏輯運(yùn)算符And和Or(and和or沒有優(yōu)先級(jí)之分)、LIKElike中”*”或”%”代表任意長(zhǎng)字符串,下劃線”_”代表任一單字符(6)查找統(tǒng)計(jì)可用統(tǒng)計(jì)集Find方法,語(yǔ)法格式:統(tǒng)計(jì)集對(duì)象指針.Find條件字符串,n,方向,start例:在統(tǒng)計(jì)集objrs中查找出生日期為90年1月1日統(tǒng)計(jì)objrs.Find“出生日期=#1990-1-1#”注:條件字符串中字符串用單引號(hào)括起來(lái),日期用#括起來(lái)(7)添加統(tǒng)計(jì)法1:在使用統(tǒng)計(jì)集Addnew方法,在統(tǒng)計(jì)集末尾添加一條空統(tǒng)計(jì),并自動(dòng)成為當(dāng)前統(tǒng)計(jì)如:objrs.addnew注:執(zhí)行AddNew方法時(shí),ADO將自動(dòng)執(zhí)行Update方法保留前面修改或添加統(tǒng)計(jì)法2:使用Connection或Command對(duì)象execute方法執(zhí)行Insert命令(8)刪除統(tǒng)計(jì)法1:使用統(tǒng)計(jì)集delete方法如:objrs.Delete注:刪除是當(dāng)前統(tǒng)計(jì),統(tǒng)計(jì)刪除后,統(tǒng)計(jì)指針仍指向該統(tǒng)計(jì),此時(shí)訪問(wèn)該統(tǒng)計(jì)當(dāng)然會(huì)犯錯(cuò).刪除后要移動(dòng)統(tǒng)計(jì)指針?lè)?:使用Connection或Command對(duì)象execute方法執(zhí)行delete命令(9)修改統(tǒng)計(jì)法1:直接修改字段值,注意修改是當(dāng)前統(tǒng)計(jì)如:objrs!姓名=”Tom”objrs.Update法2:使用Connection或Command對(duì)象Execute方法執(zhí)行Update命令9.3.3.使用ADO數(shù)據(jù)控件訪問(wèn)數(shù)據(jù)庫(kù)1.屬于高級(jí)控件,包含在”MicrosoftADODataControl6.0(OLEDB)”中,類似于VB內(nèi)置數(shù)據(jù)控件
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- T/CIQA 26-2021易流態(tài)化固體散裝貨物控制水分含量操作規(guī)范
- T/CI 311-2024風(fēng)力發(fā)電機(jī)組高強(qiáng)鋼塔架焊接附屬件結(jié)構(gòu)疲勞性能評(píng)價(jià)方法
- T/CHC 1001-2019植物源高有機(jī)硒食品原料
- T/CGCC 95-2024書畫藝術(shù)品溯源鑒證方法和要求
- T/CGCC 42-2020團(tuán)體膳食經(jīng)營(yíng)管理規(guī)范
- T/CFPA 026-2023雷達(dá)生命探測(cè)儀測(cè)試用假人系統(tǒng)
- T/CFDCC 0206-2020智能家居場(chǎng)景功能指南
- T/CECS 10312-2023基樁自平衡靜載試驗(yàn)用荷載箱
- T/CECS 10246-2022綠色建材評(píng)價(jià)智能坐便器
- T/CECA-G 0176-2022居住建筑配套用空氣源熱泵熱水器技術(shù)條件
- 酒店籌開期操作手冊(cè)(業(yè)主代表小組適用)
- 城市生活垃圾衛(wèi)生填埋場(chǎng)運(yùn)行管理培訓(xùn)
- 2023年《早》舒淇早期古裝掰全照原創(chuàng)
- 部編版六年級(jí)語(yǔ)文下冊(cè)根據(jù)語(yǔ)境寫詞語(yǔ)(小升初歸類練習(xí))
- 人工智能之知識(shí)庫(kù)
- 張哲華鑫仔小品《警察和我》臺(tái)詞劇本手稿
- 中等職業(yè)學(xué)校英語(yǔ)課程標(biāo)準(zhǔn)(2020年版)(word精排版)
- 畢業(yè)生就業(yè)推薦表word模板
- 南京市特種設(shè)備安全監(jiān)督檢驗(yàn)研究院公開招考5名編外工作人員模擬檢測(cè)試卷【共1000題含答案解析】
- 2023年八年級(jí)生物學(xué)業(yè)水平考試復(fù)習(xí)試卷
- YY/T 1685-2020氣動(dòng)脈沖振蕩排痰設(shè)備
評(píng)論
0/150
提交評(píng)論