最近闲下来(工作找得辛苦,不想在混日子)自己开始全面学习一下.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做什么用呀?!!另外在说我在论坛里已经问过,但是几个问题多没有明确答案。放在这里,理清楚头绪,另有牛人高手如果能够不厌其烦回答一下,让很多准备学或初学的人一起来学习一下,不也是好事情。