机房收费系统之学生基本信息维护

前言

该窗体功能是实现查询学生的信息,并可给予修改的权限。其中包含两个重大部分,一是组合查询,二是修改;其中修改又涉及到了修改学生信息窗体,此窗体中取消修改尝试了很多方法,最后选取比较简单的方法,这个窗体不难。最重要的莫过于组合查询:组合查询我使用的方法是一行一行的查,因为对于我目前的水平也是最容易接受的方法。此方法中需注意一下几点:
1)汉字转换为数据库中的字段名部分
2)数据库查询部分
3)操作符部分

流程

判断控件是否为空----汉字转换数据库中的字段名----连接student_info表依次进行1,2,3行查询-----修改:MSFlexGrid1控件判断是否选中数据,然后跳转到修改学生信息窗体

累赘

问题1:实时错误’30006’不能为MSFlexGrid1分配内存
原因:缺少一行代码:mrc.movenext
问题2:查询内容不完整
原因:上一篇博客中提到的无去空格符
问题3:操作符到底有何作用
原因:查询的条件,比如:在查询学号时,操作符为"=" 查询的结果就是你输入的学号的信息(此方法确实挺简单,作为菜鸟的我没实践之前还是懵逼状态的;所以也是送给跟我一样正处于蒙版状态的你。

代码展示

1)代码转换为数据库中的字段名,下面以“卡号,学号,性别“为例说明方法;需注意strcon1要定义

select case cb1
         case "卡号"
               strcon1 = "cardno“
         case "学号"
              strcon1 = " studentno”
          case "性别'
               strcon1 = "sex"
 end select

2)第一行,第二行,第三行数据库的查询条件的表达方式,需注意的是where后面的条件是字段名、操作符、查询的内容

txtsql = "select * from student_info where " & strcon1 & trim(cb4.text) & " ' " & trim(txtquery.text) & " ' "
txtsql = txtsql & " " & strcon2 & " " & strcon4 & " " & trim(cb5.text) & " ' " & trim(txtquery1.text) & " ' "
txtsql = txtslq & " " & strcon5 & " " & strcon3 & " " & trim(cb6.text) & " ' " & trim(txtquery2.text) & " ' "

3)当查询姓名或性别时,操作符只能为" = " 或”<> ",因此可增加条件如下

If cb1.text = " 姓名" or cb1.text = "性别" then
       with cb4
               .addItem " ="
               .addItem " <>"
         end with
   else
        with cb4
               .addItem " = "
               .addItem " <"
               .addItem">"
               .addItem "<>"
           end with
    end if 

4)修改部分,此部分没有用了一个临时卡号的值,注tmpcardno是临时卡号,在此处因省略部分的代码又with MSFlexGrid1,因此这里可以这样书写代码

if .rowsel > 0 then     '选中信息
       tmpcardno = trim(.textmatrix(.rowsel,0)
       frmmodify.show
       end if 

总结

多看帮助,少走弯路

猜你喜欢

转载自blog.csdn.net/weixin_42957931/article/details/85036920