【机房重构】一步一步往上爬——小问题大收获

简介:
	机房重构进行了半个月之久了,其中遇到了不少问题,有的调试了很久,有的是因为自己的大意。不管怎样,自己还是通过各种问题,收获了许多,成长了许多。这篇博客主要就是对之前遇到的一些问题的集锦,希望能给大家一些帮助,遇到问题,成功地解决问题。
问题一:缺少参数,在U层传参数的时候少写了一个参数。


	解决:根据提示检查U层的该参数,将该参数赋上相应的值。
问题二:进程无法访问文件,文件正由另一个进程使用。


	解决:重新生成解决方案,或者是关闭程序,重新启动程序。
问题三:接口的实现错误,类型无法转换,这是因为名称写错。


	解决:检查工厂中定义的类是否与要实例化的对象是否一致。
问题四:无可用源,源文件与模块生成时的文件不同。这经常发生在我们用F11单步调试的时候。


	解决:重新生成解决方案,或者重新启动程序。
问题五:未能加载文件或程序集“DAL”或它的某一个依赖项,系统找不到指定文件。


	解决:通过更改属性下的编译中输出路径一项,将DAL层的输出路径更改到UI-bin-Debug下。
	除了上面的一些常见的问题,另外也积累一些在VB.NET环境编程下的小知识。
知识一:按回车键直接触发确认按钮。
	在VB中把Default属性改为TRUE,而在.NET中是将窗体的AcceptButton属性改为你设置的确认键。
知识二:文本框多行显示。
	先把文本框的Multline属性设置为TRUE,再利用VBNewLine进行字符串间的连接。下面是一个参考的代码:

txtMessage.Text = "充值卡号:" & recharge.Card & vbNewLine & _
                          "上次卡内余额:" & Val(Trim(StrExtraMoney)) & vbNewLine & _
                          "现在卡内余额:" & Val(Trim(strNowMoney)) & vbNewLine & _
                          "充值日期:" & recharge.RDate & vbNewLine & _
                          "充值时间:" & recharge.RTime & vbNewLine & _
                          "充值老师:" & recharge.ID
知识三:限制文本框只能输入数字和返回键。下面是一个参考代码:

Private Sub txtCardNo_KeyPress(sender As Object, e As KeyPressEventArgs) Handles txtCardNo.KeyPress
        If Char.IsDigit(e.KeyChar) Or e.KeyChar = Chr(8) Then
            e.Handled = False
        Else
            e.Handled = True
        End If
    End Sub
	代码中的IsDigit()函数表示判断输入的字符是否属于十进制数字类别。
知识四:有关DataGridView控件的应用。在利用DataGridView控件显示查询到的数据时,总会遇到这样或那样的不顺眼,数据虽然正确,但用户为了看看数据,还是会给用户造成这样或那样的麻烦。不将就是发现的源动力,这就发现了DataGridView控件的许多小技巧。
	1.删除多余的一行。数据显示时,总是会留有一行空白行在最后,看着特别不舒服。这里只需要将其AllowUserToAddRows属性更改为False。
	2.设置为只读属性。显示的数据都是用户不可更改的,所以将其ReadOnly属性设置为TRUE,即只读属性就解决问题了。
	3.自动调整列宽行高。显示的数据有长有短,有的显示不出来,有的占的位置又大了,所以让其自动调整就是个好办法。

<pre name="code" class="vb">' 让 DataGridView1 的所有列宽自动调整
DataGridView1.AutoResizeColumns(DataGridViewAutoSizeColumnsMode.AllCells) 
' 让 DataGridView1 的所有行高自动调整
DataGridView1.AutoResizeRows(DataGridViewAutoSizeRowsMode.AllCells) 
 
	4.是否可以删除的操作。此控件下默认的是用户可以删除所查询到的数据,而有些情况下,只有查询,并无可执行删除操作的权利。所以就需要将AllowUserToDeleteRows的属性设置为False。
	5.删除选中行操作。

For Each r As DataGridViewRow In DataGridView1.SelectedRows 
If Not r.IsNewRow Then 
DataGridView1.Rows.Remove(r) 
End If 
Next 
知识五:自动生成注释模板。只需要在每个方法上自动输入三个撇即可。可以相应的写上该方法是执行的什么操作,有无返回值,或返回值属于什么类型,标明时间。
学习心得	学习中遇到问题一定是不可避免的,不论是第一次的机房收费系统,还是这一次的个人机房重构,都有遇到这样或那样的问题。其实这都是我们学习路上的宝藏,很值得我们去挖掘,去寻找。别人遇到的,自己遇到了,大家都可以有所收获;而别人没有遇到的,自己也遇到了,这就是让自己又多了一分收获。所以说,遇到问题没什么大不了的,总会有解决的办法的。
	而第一次与这一次机房重构间隔了这么一段时间,自己也是发现自己有不少进步之处。我记得,在第一次机房系统中,不论遇到什么问题,都是一副垂头丧气的样子,感觉自己的路太不顺利了,而且完全不去注重如何解决问题,只是想把问题解决了就万事大吉了,也就糊涂地就过去了。但这一次,机房重构中,自己遇到问题没有不高兴,反而感觉很好,通过巨人的肩膀,自己上网搜索,与同学交流,问题也是一一都得到了解决,自己也是收获满满的。这样一个享受过程的心情在第一次机房中是完全没有的。
	态度不一样了,学习的这一阶段下来,效果也是不一样了,机房重构中,不仅学习到了知识,而且与同学的交流多了,与师父的交流也多了,真的是很开心~~


目录
相关文章
|
1月前
|
算法
技术感悟:编程之路上的点滴收获
【8月更文挑战第19天】在编程的世界里,我如同一名探险家,不断探索、发现和创造。从最初的迷茫到现在的游刃有余,我经历了许多挑战和困难,也收获了许多宝贵的经验和感悟。本文将分享我在编程之路上的点滴收获,希望能给同样热爱编程的你带来一些启示和鼓励。
25 0
|
弹性计算 Java C++
使用感想
阿里云使用感想
|
弹性计算 Ubuntu
感想
完成这件事颇为困难 成就一番事业需要外物 任其发展并非长远之计 务实一点 而且在今后肯定更加辉煌 以青年的毅力
感想与体会
文中讲述本人学习网页制作的经历、感想与体会
173 0
快速背诵的心得体会
快速背诵的心得体会
122 0
快速背诵的心得体会
|
前端开发 小程序 API
学习感想
通过阿里云后台的学习,我掌握了一些前后台互动的相关知识,很感谢阿里巴巴能够给我们学生提供这些资源服务,最后期待阿里云服务能够给我带来更多惊喜。
|
弹性计算 负载均衡 容器
Day7 参营感想
通过七天的学习,收获颇多
|
人工智能 算法 计算机视觉
感想-day4
来自我的感悟
515 0
关于“收获”啰嗦几句。
  桌子上有一水杯,杯子里有半杯水。   甲看到了说:太好了,还有半杯水。   乙看到了说:只有半杯水了。   从另一个角度说,甲关注的是“水”,而乙关注的是“空气”即水面到杯子口的那段空间。
623 0