这次学生信息管理系统在代码的理解过程中遇到了一些问题。总结如下:
1.
sql server的安装过程各个步骤的意思.在安装SQL Server的时候按照网上的步骤,我觉得这个需要学完整个数据库再返回头去看,或许就能明白,为什么要那样设置了。
2.
游标
最初听到游标这个东西,想到游标卡尺。这里的游标是查询返回的一个结果集和游标位置共同组成的。当我们在使用系统的时候,点击一个按钮下去,可能会执行一段查询语句。查询的结果保留在结果集中,这是一个临时表。查询的结果可能是很多条,而系统需要一条一条记录的显示,就需要去有一个类似C语言指针一样的东西,去指向这样一条一条的记录,这样就可以一条一条的查询出来了。
结果集就是数据库调用方法查询到的记录。其中包含查询返回的列标题(属性)和值。
字段Fields:在关系型数据库中,一张二维表的表头会有多个属性,每一个属性也可以叫做一个字段。
3.
数据库的表设计:由于用户输入的信息大小,需要预先估计大小,选择合适的数据类型进行分配分配
4.
sql不能保存的问题【参考https://jingyan.baidu.com/article/ca41422fdfa3221eae99edd2.html】
选择【工具】——>【选项】——>【Designers】——>找到【阻止保存要求重新创建变量】,取消勾选
遇到的VB文件修改后不能保存问题,不知道为什么一直覆盖不了,所以后来就先删掉之前这的窗体的文件,把修改后 的文件进行保存,就可以保存上了,就不会出现文件路径访问错误了。
5.
Additemadditem是给列表框或组合框等具有列表的对象添加项目用的
【参考https://zhidao.baidu.com/question/130480843.html?qbl=relate_question_7&word=vb%20AddItem 】
比如在完善个人信息的界面出现的选择省份,这时候点击小三角,就会出现很多可选项,而这些可选项是事先加进去的。
additem是列表框和组合框的一个方法,调用这个方法,可以直接添加选择项了。
具体用法:
list.additem "hello"
list:是添加字符串的控件
hello:要添加的文字
也可以利用所以实现快速添加很多选择项。
6.
call vb6.0用于在一个函数中调用另一个函数【参考vb中的call有什么用???_百度知道】
在程序中,会出现调用自定义的函数多次,在VB中需要用到这个函数Call
具体用法:
Call myfunction(参数...)
也可以不用Call
myfunction(参数...)
7.
拼接语句:之所以叫它拼接语句,分解一下
txtSQL = txtSQL & "and student_Name = " &txtName.Text & " "
" &txtName.Text & " 这是获取系统中终端输入的内容
"and student_Name = " &txtName.Text & " " 将获取的内容赋值给数据库表Student的Name属性
txtSQL & "and student_Name = " &txtName.Text & " " 将前一个语句和后面的拼接到一起,把新的结果赋给txtSQL
8.
dd(0)定义的逻辑变量,用来判断进行哪种查询方【参考【学生系统】——查询窗体和修改窗体_Coder Yasmine-CSDN博客_vba查询窗体】
9.
CellAlignment【参考:MSFlexGrid控件_百度百科】
MSFlexGrid控件用来显示和操作表格数据。CellAlignment是MSFlexGrid控件的属性,不同的属性值有不同的效果
常数 |
值 |
描述 |
flexAlignLeftTop |
0 |
列内容顶部左对齐。 |
flexAlignLeftCenter |
1 |
列内容中间左对齐。对字符串的缺省设置值。 |
flexAlignLeftBottom |
2 |
列内容底部左对齐。 |
flexAlignCenterTop |
3 |
列内容顶部居中。 |
flexAlignCenterCenter |
4 |
列内容中间居中。 |
flexAlignCenterBottom |
5 |
列内容底部居中 |
flexAlignRightTop |
6 |
列内容顶部右对齐。 |
flexAlignRightCenter |
7 |
列内容中间右对齐。对数值的缺省设置值。 |
flexAlignRightBottom |
8 |
列内容底部右对齐。 |
flexAlignGeneral |
9 |
列内容一般对齐方式。对字符串中间左对齐而对数值中间右对齐。 |
10.
TextMatrix【参考:vb中textmatrix是什么?请详解_百度知道】
用法:
MSFlexGrid.TextMatrix(2,3)="hello" //这时候MSFlexGrid控件里第二行第三列的内容就是hello了
adoPrimaryRS1.Open
"select " & a & ", count("& a & ")
from TBInfo
group by " & a & ", db, adOpenStatic,adLockOptimistic
With myFlexGrid
.Rows = 2
.CellAlignment = 4
.TextMatrix(1, 0) = a
.TextMatrix(1, 1) = "数量"
Do While Not adoPrimaryRS1.EOF
.Rows = .Rows + 1
.CellAlignment = 4
.TextMatrix(.Rows - 1, 0) =adoPrimaryRS1.Fields(0)
.TextMatrix(.Rows - 1, 1) =adoPrimaryRS1.Fields(1)
打开一个ADO对象
执行SQL语句,选择a he count(a) 从TBInfo表中,按照字段a db adOpenStatic.adLockOptimistic 分组
11.
Ole db 状态值【参考:http://ymg97526.blog.163.com/blog/static/17365816020125141531472/】
产生如下图所示的错误,大概是因为你系统中所输入的内容超出了数据库中数据类型的范围!需要你去修改数据库的数据类型了。
总结:当你看不懂大片代码的时候,就去一点点的去分析小部分的内容。