第10章窗口及控件2-游標_第1頁
第10章窗口及控件2-游標_第2頁
第10章窗口及控件2-游標_第3頁
第10章窗口及控件2-游標_第4頁
第10章窗口及控件2-游標_第5頁
已閱讀5頁,還剩18頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、第10章 窗口(chungku)對象利用下拉列表框和游標技術(shù)實現(xiàn)系統(tǒng)登錄功能,界面(jimin)如下:共二十三頁下拉列表框和游標(yubio)技術(shù)與下拉列表框類似(li s)控件列表框ListBox名稱前綴:lb_圖形列表框PictureListBox名稱前綴:plb_下拉圖形列表框DropDownPictureListBox名稱前綴:ddplb_共二十三頁下拉列表框和游標(yubio)技術(shù)與下拉列表框類似(li s)控件比較圖形列表框和圖形下拉列表框比其他兩種多一個圖片,屬性中為Pictures標簽頁中設(shè)定共二十三頁下拉列表框和游標(yubio)技術(shù)下拉列表框?qū)傩?名字前綴:ddlb_列表項

2、:items標簽頁中列出AllowEdit:選中后,允許用戶編輯列表項ShowList:選中后,下拉列表框僅用于列表顯示,不具備下拉功能。相當于列表框。事件Selectionchanged事件:改變選項后觸發(fā)該事件DoubleClicked事件:雙擊某選項時觸發(fā)Modified事件:列表框編輯確認后觸發(fā)GetFocus事件:下拉列表框獲得焦點(jiodin)時 觸發(fā)LoseFocus事件:失去焦點時觸發(fā)共二十三頁下拉列表框和游標(yubio)技術(shù)下拉列表框常用函數(shù):關(guān)于列表項的操作Additem( )在列表項的尾部追加一個新的列表項,參數(shù)為插入項的字符串,如ddlb_1.additem(計算機

3、系)DeleteItem( )在下拉列表框中刪除項,參數(shù)為列表項的索引號(int類型),例如,ddlb_1.deleteitem(3)為刪除列表框中第三項。InsertItem( )在指定(zhdng)的索引號所指的列表項之前插入新的列表項,例如,ddlb_1.insertitem(“副研究員”,3),即在第三項之上插入“副研究員”FindItem( )Integer listboxname.FindItem ( text, index )共二十三頁下拉列表框和游標(yubio)技術(shù)下拉列表框常用函數(shù):關(guān)于列表項的操作FindItem( )定義 Integer listboxname.Find

4、Item ( text, index )含義:從index指示(zhsh)的列表項的下一項開始查找包含text字符串的第一個列表項,index=0表示從所有列表項中查找。返回值為滿足條件的第一個列表項的索引。例如:Integer indexindex=ddlb_1.FindItem ( “副”, 0 )則index=1index=ddlb_1.FindItem ( “副”, 1 )則index=8共二十三頁下拉列表框和游標(yubio)技術(shù)列表框常用函數(shù):關(guān)于列表項的操作(cozu)listboxname.SelectedItem ( )功能:得到選中的列表項,僅用于列表框和圖片列表框參數(shù):無

5、返回值:string類型,返回列表框中當前被選中的列表項字符串;如果沒有任何項被選中,則返回空串;如果列表框為空,則返回空值,即NULL例如,string texttext=lb_1. SelectedItem ( )則,返回“工程師”下拉列表框和圖片下拉列表框利用Text屬性取值,如ddlb_1.text共二十三頁下拉列表框和游標(yubio)技術(shù)游標技術(shù) (讀取多行數(shù)據(jù))當需要讀取多條記錄時,就需要使用游標進行操作。其典型(dinxng)運用過程一般為: (1)用DECLARE聲明游標;(2)用OPEN語句打開游標;(3)使用FETCH語句讀取一行數(shù)據(jù);(4)處理數(shù)據(jù);(5)判斷是否已經(jīng)讀

6、完所有數(shù)據(jù),未讀完時重復(fù)執(zhí)行(3)(5)步;(6)使用CLOSE語句關(guān)閉游標。共二十三頁游標(yubio)技術(shù)1DECLARE語句使用游標前需要用DECLARE語句聲明游標,其語法格式為:DECLARE CursorName CURSOR FOR SelectStatementUSING TransactionObject;其中,CursorName是游標的名稱,可以使用任何(rnh)有效的標識符來表示;SelectStatement是任何有效的SELECT語句;TransactionObject是事務(wù)對象名,缺省時使用SQLCA。共二十三頁游標(yubio)技術(shù)2OPEN語句(yj)OPEN

7、語句打開已經(jīng)聲明的游標并執(zhí)行相應(yīng)的SELECT語句。其語法格式為:OPEN CursorName;其中CursorName是已經(jīng)用DECLARE語句聲明的游標名。 3FETCH語句FETCH語句從游標中讀取當前記錄并把它保存到指定的變量中。當數(shù)據(jù)庫支持下述用法時,還可以使用FETCH FIRST、FETCH PRIOR、FETCH LAST。FETCH語句的語法格式為:FETCH CursorName INTO HostVariableList;其中CursorName是OPEN語句打開的游標名,HostVariableList是與SELECT語句中選擇字段相對應(yīng)的綁定變量列表。共二十三頁游標

8、(yubio)技術(shù)4CLOSE語句CLOSE語句關(guān)閉先前打開(d ki)的游標。其語法格式為:CLOSE CursorName ;其中CursorName是先前打開游標的名稱。關(guān)閉游標后,就不能再使用FETCH語句從游標中讀取數(shù)據(jù)了。共二十三頁如果需要在程序中連接數(shù)據(jù)庫就必須通過嵌入式SQL來完成,有時候我們需要在程序中直接使用SQL語句操作數(shù)據(jù)庫。PowerScript提供了一整套嵌入式SQL語句。PowerScript支持在程序中使用嵌入式SQL語句,并且支持在SQL語句中使用具體數(shù)據(jù)庫管理系統(tǒng)(DBMS)特有的SQL語句、函數(shù)和保留字,實際上,對于SQL語句,PowerBuilder在將

9、其發(fā)送到DBMS之前,并不做任何處理,而由DBMS完成相應(yīng)操作,最后(zuhu)PowerBuilder得到處理結(jié)果。嵌入式SQL語句(yj)共二十三頁整個SQL語句可以寫在一行,也可以寫成更清晰易懂的多行格式,不需使用斷行續(xù)行符,只要在整個語句結(jié)束(jish)處加上一個分號(;)即可。在SQL語句中可以使用常量或合法的變量,但使用變量時須在變量前加個冒號(:)(通常稱做綁定變量),多個變量或常量之間用逗號(,)分隔。嵌入式SQL語句(yj)共二十三頁一 數(shù)據(jù)庫連接的建立(jinl)與斷開1使用CONNECT建立與數(shù)據(jù)庫的連接CONNECT是每個訪問數(shù)據(jù)庫的PowerBuilder程序必須使用

10、的語句,它的功能是通過事務(wù)對象將應(yīng)用程序與數(shù)據(jù)庫建立連接,連接成功后,其它SQL語句和數(shù)據(jù)窗口才能通過事務(wù)對象對數(shù)據(jù)庫進行操作。CONNECT語句的語法格式為:CONNECT USING TransactionObject;其中,TransactionObject是事務(wù)對象,在執(zhí)行該語句前,必須正確設(shè)置事務(wù)對象的數(shù)據(jù)庫連接屬性。方括號( )表示該成分可以省略,省略時使用默認的事務(wù)對象SQLCA。 共二十三頁2使用DISCONNECT斷開與數(shù)據(jù)庫的連接DISCONNECT語句斷開與數(shù)據(jù)庫的連接,執(zhí)行(zhxng)該語句時,它首先執(zhí)行(zhxng)COMMIT語句(事務(wù)提交語句),完成事務(wù)提交,然

11、后斷開與數(shù)據(jù)庫的連接。DISCONNECT語句的語法格式為: DISCONNECT USING TransactionObject;其中,TransactionObject是前面用CONNECT語句連接的事務(wù)對象名。 共二十三頁二 提交與回滾事務(wù)1提交事務(wù)語句COMMITCOMMIT語句提交事務(wù),完成數(shù)據(jù)庫的物理修改。執(zhí)行該語句后,將關(guān)閉所有先前打開的游標(CURSOR)和過程(PROCEDURE),并開始(kish)一個新的事務(wù)。COMMIT語句的語法格式為:COMMIT USING TransactionObject;其中,TransactionObject是事務(wù)對象名,缺省時使用事務(wù)對象

12、SQLCA。2回滾事務(wù)語句ROLLBACKROLLBACK(回滾)語句放棄自上一個COMMIT、ROLLBACK或CONNECT語句以來的所有數(shù)據(jù)庫操作,關(guān)閉所有的游標和過程,并開始一個新的事務(wù)。其語法格式為:ROLLBACK USING TransactionObject ;其中,TransactionObject是事務(wù)對象名,缺省時使用事務(wù)對象SQLCA。 共二十三頁三 單行檢索語句SELECT單行SELECT語句從數(shù)據(jù)庫中檢索一條記錄,如果找到多條滿足條件的記錄,則產(chǎn)生錯誤(cuw)。其語法格式為:SELECT 字段名列表 INTO 變量列表FROM 表名 WHERE 檢索條件USING

13、 事務(wù)對象名稱;例如(lr):select count(*)into :snamefrom passwordwhere name=:name and pass=:pwd;共二十三頁嵌入式SQL語句(yj)四 插入語句INSERT其語法格式(g shi)為:INSERT INTO 表名(字段名列表)VALUES (值列表)USING 事務(wù)對象名 ;其中,字段名之間用逗號分隔,值列表是列的賦值,程序中可以使用常量,也可以使用綁定變量(PowerScript變量前加個冒號)。例如pwd= 0002Insert into password(name,pass) values (“ 張三”, :pwd)

14、; 共二十三頁五 刪除語句DELETE其語法格式為:DELETE FROM 表名WHERE 刪除條件USING 事務(wù)(shw)對象名 ;刪除條件,滿足該條件的行被刪除,事務(wù)對象名缺省時使用SQLCA。例如: name=sle_1.textDelete from password Where name=:name;Delete from password where name= 張三共二十三頁六 修改語句UPDATEUPDATE語句修改表中指定的數(shù)據(jù)(shj),其語法格式為:UPDATE 表名SET 字段名 =值 ,字段名 = 值 ,.WHERE 更新條件USING 事務(wù)對象名 ;例如updat

15、e xschSet score=score+10,bkscore=0Where left(xh,5)= 02511 and course_no= 00005 ;共二十三頁七 檢查SQL語句的執(zhí)行情況每當執(zhí)行一條SQL語句后,與該語句相關(guān)的事務(wù)對象的SQLCode屬性都給出一個值指示SQL語句的執(zhí)行是否成功,SQLCode取值為:0 : 最近一次SQL語句執(zhí)行成功-1: 最近一次SQL語句執(zhí)行失敗100:最近一次SQL語句沒有返回數(shù)據(jù)當SQLCode的值為-1時(即最近一次SQL語句執(zhí)行失敗時),事務(wù)對象的SQLDBCode屬性中存放著數(shù)據(jù)庫廠商提供的錯誤代碼、事務(wù)對象的SQLErrText屬性中存放著數(shù)據(jù)庫廠商提供的錯誤信息,利用這兩個(lin )屬性,可以得到出錯原因。 共二十三頁利用SQL語句完成如下(rxi)功能編輯(binj)掩碼單選按鈕多行編輯器共二十三頁內(nèi)容摘要第10章 窗口對象。圖形列表框和圖形下拉列表框比其他兩種多一個圖片,屬性中為Pictures標簽頁中設(shè)定。Selection

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論