學習VB.NET簡直象在啃骨頭!骨頭沒啃完,牙齒就掉了幾顆!

最近閒下來(工作找得辛苦,不想在混日子)自己開始全面學習一下.NET的東西,雖然可以做些數據庫的運用,但是最近發現是越往後,困難越是明顯。有些細節問題,我實在是不得要領。(欲哭無淚,出此下策)

其中,我最想說的是,我所學習的書是與VB.net爲基礎的,不曉得爲什麼,現在世面上VB.net堪稱經典的書,我好象還沒發現,到是買了幾本ADO.NET的書還覺得不錯。另外C#方面的書籍也有那麼兩本比較而言真是很好理解,有些問題,我是在C#的書裏找到的答案(大家說,我是不是很累呀!?)。最近是邊學.NET邊找工作,反正時間還算是可以完全得到充分的利用。閒話不多講,說說我的一些問題。

首先是關於DataSet的位置,我真是弄不清楚,是在Server端還是在Browser端。主要是我手裏唯一一本較全面的書是說是,可以在B端可以在工作站,可以在S端。我的理解是,象ASP.NET這樣的B/S運用產生的XML結構是在S端。B端調用的時候它自然解析出來,那麼我想問的是它的這個DataTable的XML文件在哪個位置?目前還沒找到這樣的資料。主要是我想看看它的結構,我用VS.NET的時間不超過一個月(~^)^~)。看到的都是哪個DataSet1.xsd結構文件。從我目前的理解,ADO.NET方面.NET的效率在於減短了某個運用對源數據庫連接處理的時間和提高系統資源的利用效率。

另外的運用問題是,我想在父窗體設置IsMidContainer爲True後,我在父窗體上面加了別的控件。但是無法確定Mdi窗體在父窗體的背景前面,累死我了,看了好多,還是沒有很好的解接,用Panel後,將它dock爲top或left/right/bottom都不是我想要的效果,因爲是需要的是Fill填充背景,舉個簡單例子,我在那裏picturebox後,以後Mdi窗體全部在父窗體背景後面去了。MDIlist跟蹤是可以發現打開了窗體。但是就是無法使用MDI窗體,因爲打開的MDI窗體全部在父窗體控件的背景遮掩掉了,怎麼解接,我到VB.NET版問了,沒有明確回答。(說一下我的運用目的,我想在父窗體上除了菜單外的背景上我需要放置一工程圖片作爲背景,上面有一些常見的流程操作功能)我的這個問題純屬初學問題,讓大家見笑!

第三點,dataset的分頁問題。我硬是頭大。誰有資料,我看看。我的書上都沒有講到過,我是自己看別人的code來逐漸分析我的問題。想來應該不是問題的問題,但是對於初學,還是比較關心這個東西。菜就是菜,沒什麼不好說出來的。

第四,一般MDI的數據庫操作,目前的經驗告訴我,多個dataset在多處MDI窗體的建立會產生效率,至少我的感覺是,我這裏開了5個dataset後,我的機器明顯變慢下來。怎麼樣在這裏提高性能?可以分幾個情況的吧?應該。

第五個事情是,窗體的繼承問題。我對OOP真是還得花更多時間去理解一些東西,我提這個問題是因爲我發現,我的幾個MDI窗體,其實有很多地方是一樣的(主要是功能方面)比如提取dataset方面,我的表只5、6個表,有的窗體裝載的只是2個相同的表。雖然我的目前解接方法是把功能儘量在一個dataset的同個MDI窗體裏解接。但是我覺得應該還有更好的方法來完成類似的問題,我想到了窗體繼承。不曉得別人是怎麼使用的?無論那種方式,請大家不惜賜教!

最後一個事情,其實還是一個經驗的問題。我不清楚.NET的垃圾回收在什麼時候人爲干預最好,因爲.NET的垃圾回收是在不確定的時間來完成的,我總不至於一個dataset用好了,明知下面不需要了,還擺在那裏等它來回收吧?那麼什麼時候來自己釋放資源最好?怎麼釋放,我知道Dispose方法可以,Finalize也可以。怎麼使用,比個例子,在ASP中數據庫記錄集使用完畢,只需要rs.close釋放系統資源,對象資源如果也確定不在需要了,可以set rs=Nothing    如果整個運用全部加載完畢兩數據庫連接資源都可以一起釋放,形如在腳本末尾加上:

</html>

<%

rs.close

set  rs = Nothing

conn.close

set  conn = Nothing

%>

這個我是知道什麼時候釋放資源內存。但是.NET我就不清楚了。說半天還是經驗時間問題,但是我現在很需要知道這些東西,一個人學東西真是辛苦。*O*!?不曉得管理員會不會刪了我的這篇東西,我想應該不算提問吧?我的目的還是想交流,要不然,要這個BLOG做什麼用呀?!!另外在說我在論壇裏已經問過,但是幾個問題多沒有明確答案。放在這裏,理清楚頭緒,另有牛人高手如果能夠不厭其煩回答一下,讓很多準備學或初學的人一起來學習一下,不也是好事情。

發佈了96 篇原創文章 · 獲贊 0 · 訪問量 46萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章