詳細介紹ADO.NETConnection學習了解
詳細對ADO.NETConnection的學習,想必很多朋友對它都有所了解,在這里我就不詳細展開說了,而且針對不同的應用使用了多個ADOConnection,我想我應該自己動手來好好研究一下這個問題了
線程是允許程序的一部分獨立于其他部分運行。線程可以在單個線程執(zhí)行的同時運行多個操作,讓用戶感到像同時發(fā)生的一樣,即使其中的某些線程出現錯誤,相互間的操作也不會直接受到影響。一個多線程功能的典型范例是Office中的Word拼寫檢查程序。在程序開始時,執(zhí)行指針位于該程序的頂部,然后移動至開始讀入代碼的位置。不過Word同時還將開始另一個線程并創(chuàng)建另一個執(zhí)行指針。
當鍵入文本時,這個新線程將檢查在文檔中輸入的文本,并給有拼寫錯誤的地方置于紅色的波浪線標記,這個大家在打英文的時候,會常見到。ADO.NETConnection說到線程就不能不談“進程”這個詞,這兩個詞幾乎總是同時出現。Windows可以將許多程序同時保存在內存中,并允許用戶在程序之間來回切換。
這種能夠同時運行多個程序的能力稱作多任務。一個進程中可以包含許多單獨的線程。所以要注意,多任務和多線程并不是一回事。既然可能有許多線程,便可以對不同的線程指定不同的優(yōu)先級。
聊了半天線程,下面我們把它和ADO.NETConnection結合起來談。在數據庫訪問領域,線程可以建立具有大量數據的控件而不阻止用戶與其他控件交互。.NET Framework提高了運行多個執(zhí)行線程的可編程性。在深入介紹ADO.NETConnection的異步操作之前,要說明幾點。#t#
1. NET Framework用System .Threading名稱空間簡化生成線程的工作,但這同樣是危險的。線程可能造成很難查錯的異常行為,我想大家在Windows操作系統下使用多種軟件時出現的令人費解的錯誤已經很多了。
2. 線程應用程序很難調試,但調試是非常重要的,如果使用在銀行系統,醫(yī)療系統,出現異常錯誤,損失會很大。
3. 需要認真管理線程,多線程應用程序中的線程實際上共享相同的內存空間,在同一進程中的線程間有可能覆蓋對方的重要數據。
為什么?程序在為改動之前使用BDE運行得好好的,我并沒有更改程序的結構???我十分的迷惑,當然要想解決問題一切都得從錯誤代碼開始。OLE error 800A0E7F:什么咚咚來的?它什么意思?什么原因引起的?我找了半天也沒有在我的系統里找到它的說明,好在現在網絡發(fā)達,也許有人遇到跟我一樣的問題吧,于是我用OLE error 800A0E7F作為關鍵字搜了一下,嘿嘿,果真被我找到了:
- >0x800A0E7F Operation cannot be performed while executing > asynchronously
異步執(zhí)行時操作不能被執(zhí)行(完成),還是不太清楚錯誤的原因,于是我在一個網站發(fā)布了帖子求助,一些人告訴我ADO線程不安全,需要線程同步,事實上我的程序做了同步,而且針對不同的應用使用了多個ADO.NETConnection,我想我應該自己動手來好好研究一下這個問題了,它很意思。接下來我該好好分析我的程序并做一系列的測試來找到那個炸彈。