在Solution Explorer窗格中單擊View Designer按鈕,代開Insert Faculty窗體的設(shè)計(jì)界面,雙擊Insert按鈕,代開該按鈕的單擊事件處理程序,并將代碼輸入到該方法中。
  1.在該步驟中,聲明了一個(gè)整型類型的局部變量intInsert,用于保存執(zhí)行TableAdapter.InsertO方法的返回值。TableAdapter.InsertO方法的返回值是一個(gè)整數(shù),表示有多少條記錄已經(jīng)成功地插入到了數(shù)據(jù)庫(kù)中或影響了數(shù)據(jù)庫(kù)??梢允褂迷摲祷刂祦?lái)判斷數(shù)據(jù)插入操作是否成功。如果返回值為0,表示沒有記錄插入或添加到數(shù)據(jù)庫(kù)中,數(shù)據(jù)插入失敗。
  2.如果用戶選擇TableAdapter.InsertO方法來(lái)執(zhí)行數(shù)據(jù)插入,調(diào)用在上一節(jié)中使用Table Adapter查詢配置向?qū)?chuàng)建的查詢函數(shù)InsertFacultyO,來(lái)執(zhí)行該數(shù)據(jù)插入操作。該方法將把用戶在7個(gè)文件框中輸入的新教員記錄的7個(gè)字段信息,插入到數(shù)據(jù)庫(kù)的Faculty表中。
  3.如果用戶選擇了TableAdapter.UpdateO方法來(lái)執(zhí)行數(shù)據(jù)插入,那么調(diào)用TableAdapter.UpdateO方法來(lái)執(zhí)行數(shù)據(jù)插入操作,該方法的代碼在下一節(jié)中討論。
  4.如果數(shù)據(jù)插入成功,返回的整數(shù)值標(biāo)識(shí)已成功插入到數(shù)據(jù)庫(kù)中的記錄的數(shù)量。在之前介紹過,一個(gè)非0的返回值表示該數(shù)據(jù)插入操作成功。此時(shí)將模擬一個(gè)單擊Cancel按鈕的操作,觸發(fā)Cancel按鈕單擊事件處理程序的執(zhí)行,清除7個(gè)文本框中新插入教員的全部信息,為下一次數(shù)據(jù)插入操作做好準(zhǔn)備。
  5.如果in Insert的值為0,表示數(shù)據(jù)插入失敗。此時(shí)將顯示一個(gè)Message Box消息警示框,向用戶指明這一情況。需要強(qiáng)調(diào)一點(diǎn),當(dāng)執(zhí)行一個(gè)數(shù)據(jù)插入操作時(shí),相同的數(shù)據(jù)只能插入到數(shù)據(jù)庫(kù)中一次,數(shù)據(jù)庫(kù)不允許插入多個(gè)相同的數(shù)據(jù)記錄。在該應(yīng)用程序中(實(shí)際上對(duì)絕大多數(shù)應(yīng)用程序都是如此),一旦一條記錄插入成功,就立即禁用Inset按鈕。如果數(shù)據(jù)插入失敗,恢復(fù)或重新啟用Insert按鈕,以允許用戶嘗試其他的數(shù)據(jù)插入操作。
  根據(jù)上面的分析,要避免把相同的數(shù)據(jù)記錄重復(fù)地插入到數(shù)據(jù)庫(kù)中,一個(gè)有效的辦法就是在數(shù)據(jù)插入操作成功之后禁用Insert按鈕。這就產(chǎn)生了另一個(gè)問題:如果之后想插入其他的數(shù)據(jù)記錄,那么應(yīng)該在何時(shí)以及如何再次啟用該Inset按鈕,以允許用戶插入其他不同的新紀(jì)錄?該問題的解決方法就是開發(fā)另外一個(gè)方法來(lái)處理這一情況。請(qǐng)思考一下,當(dāng)想把新的不同記錄插入到數(shù)據(jù)庫(kù)時(shí),首先必須在每一個(gè)文本框控件中輸入新教員記錄的每一個(gè)字段信息,例如txtID、txtName、txtOffice、txtPhone、txtTitle、txtCollege和txtEmail文本框。只要某個(gè)文本框的內(nèi)容發(fā)生了改變,就說(shuō)明用戶輸入了一個(gè)新的、不同的數(shù)據(jù)記錄,此時(shí)應(yīng)該啟用Insert按鈕,以允許用戶執(zhí)行一個(gè)新的數(shù)據(jù)插入操作。在Visual C#NET中,文本框控件提供了一個(gè)名為Text Changed的時(shí)間來(lái)相應(yīng)的事件處理程序。因此,只要Text Changed事件發(fā)生,就可以利用該事件及其事件處理程序來(lái)啟用Insert按鈕。這又引出了另外一個(gè)問題:?jiǎn)栴}使用哪一個(gè)文本框的Text Changed事件來(lái)觸發(fā)相應(yīng)方法,以啟用Insert按鈕允許用戶插入一條新紀(jì)錄呢?任何文本框的Text Changed事件都可以用來(lái)實(shí)現(xiàn)該功能嗎?要回答這一問題,需要重新審視數(shù)據(jù)庫(kù)中的數(shù)據(jù)問題。在示例數(shù)據(jù)庫(kù)CSE DEPT(實(shí)際上是Faculty表)中,實(shí)際上是根據(jù)記錄的主鍵來(lái)標(biāo)識(shí)一條記錄。也就是說(shuō),具有不同主鍵的記錄將被視為不同的記錄。因此對(duì)于上面的問題,答案就是:如果保存主鍵的文本框的內(nèi)容發(fā)生了改變,則表示將插入一條新紀(jì)錄,在本例中即用于保存faculty-id的txtID文本框控件。因此應(yīng)該使用txtID文本框的Text Changed事件處理程序來(lái)觸發(fā)對(duì)Insert按鈕的啟用。
  要打開txtID文本框控件的Text Changed方法,只需在Solution Explorer窗格中單擊View Designer按鈕,打開Insert Faculty窗體的設(shè)計(jì)界面,然后在txtID(Faculty ID)文本框控件上雙擊,打開該文本框的Text Changed時(shí)間處理程序。

 

★關(guān)于WorkWin公司電腦監(jiān)控軟件★

WorkWin的使命是打造Work用途的Windows 電腦系統(tǒng),有效規(guī)范員工上網(wǎng)行為,讓老板知道員工每天在做什么(監(jiān)控包括屏幕、上網(wǎng)在內(nèi)的一舉一動(dòng)),限制員工不能做什么(禁止網(wǎng)購(gòu)、游戲、優(yōu)盤等)。

WorkWin基于純軟件設(shè)計(jì),非常容易使用,無(wú)需添加或改動(dòng)任何硬件,使用一臺(tái)管理機(jī)監(jiān)控全部員工機(jī)電腦。歷經(jīng)南京網(wǎng)亞十余年精心打造,此時(shí)此刻每天都有成千上萬(wàn)企業(yè)電腦正在運(yùn)行WorkWin,選擇WorkWin選擇“贏”。

WorkWin介紹

WorkWin監(jiān)控首頁(yè) 短視頻講解 下載免費(fèi)試用版

版權(quán)所有,南京網(wǎng)亞計(jì)算機(jī)有限公司 。本文鏈接地址: 開發(fā)使用Table Adapter方法插入數(shù)據(jù)的代碼