都是空格惹的祸

        机房收费系统快要接近尾声了,现在一直在不停的调代码,总是错误不断。这不,一个小小的空格都来捣乱了。。。

        1、敲下机收费时遇到过这样一个问题

都是空格惹的祸_第1张图片


        我明明设定的固定用户的收费单价是2元,临时用户3元,可是这里我登陆的是固定用,但消费金额却是3元。这是怎么回事?还好没有将此系统应用,要不然消费者会用唾沫把我淹死。有了问题,我就得解决。调代码吧!可是无论怎么看,觉得代码都没有问题,有判断用户类型的语句,程序又不报错。不过经过努力抠字眼,终于找到问题之所在了,就是判断的时候没有加空格(固定用户后边)

</pre><pre name="code" class="vb">txtSQL3 = "select * from student_Info where cardno='" & Trim(txtCardID.Text) & "'"
      Set mrc3 = ExecuteSQL(txtSQL3, MsgText3)
      If t > p And t < Val(Trim(mrc2.Fields(3))) Then
        MsgBox "上机时间小于至少上机时间,若坚持退出,则会以至少上机时间计费。是否退出?", vbYesNo, "提示"
        If vbYes Then
          If mrc3.Fields(14) = "固定用户" Then
            txtMoneytake.Text = Val(Trim(mrc2.Fields(0)))
          Else
            txtMoneytake.Text = Val(Trim(mrc2.Fields(1)))
          End If
        End If
      Else
        If mrc3.Fields(14) = "固定用户" Then
          txtMoneytake.Text = q * Val(Trim(mrc2.Fields(0)))
        Else
          txtMoneytake.Text = q * Val(Trim(mrc2.Fields(1)))
        End If



        因为表里边的type属性是char(10),如果不加空格的话相当于只有8个字节,所以判断的时候只能选择另一种收费标准。这个问题的解决办法:一种是固定用户后加两个空格,另一种就是将表里边的char(10)改为char(8)。


        2、敲日结账单的时候,无法加载模板,

都是空格惹的祸_第2张图片


        我检查了一下代码和文件命名,应该是自己已经固定了自己的思维方式,怎么也找不出来哪里错误了。只好寻找外援,不过捣鼓了半天也没有发现是怎么回事。后来,换了一种思路,又检查了一下代码,发现我的代码中的文件命名前多了一个空格

都是空格惹的祸_第3张图片


        将空格去掉后,程序成功运行了。

        还有好多地方都涉及到空格的问题,比如说打开数据表时的where子句里就有很多需要添加空格的地方,这些在学生系统中也有,所以这个应该不会再犯了。

        这些错误值得我深思啊,看似不起眼的空格,却给了自己这么多的困扰。我们的生活又何尝不是这样呢?看似微不足道的东西,有的时候也许就会成为我们致命的打击。所以,无论做任何事情都要认真仔细,切不可粗心大意啊!



你可能感兴趣的:(生活,问题)