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

2019-04-14 12:27发布

前言

该窗体功能是实现查询学生的信息,并可给予修改的权限。其中包含两个重大部分,一是组合查询,二是修改;其中修改又涉及到了修改学生信息窗体,此窗体中取消修改尝试了很多方法,最后选取比较简单的方法,这个窗体不难。最重要的莫过于组合查询:组合查询我使用的方法是一行一行的查,因为对于我目前的水平也是最容易接受的方法。此方法中需注意一下几点:
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

总结

多看帮助,少走弯路