欢迎光临散文网 会员登陆 & 注册

VB-【万能XXX管理系统】各窗体核心代码解释

2022-06-14 20:46 作者:火火龙来了  | 我要投稿

视频地址:

【开源讲解】VB+sqlserver万能管理系统+安装包vb和sqlserver+安装运行全流程



窗体及部分核心代码详细说明

一:第一个窗体login(Form1.frm):


这个登录窗体,连接数据库用的ADO中的ADODB方式,ADODB的对象有

图: ADODB与ADODC

             

代码解释:

Option Explicit:就是告诉VB,如果遇到一个变量它是没有定义的,要报错的,而删除这句的话,你随便写出来一个没有定义的变量,比如,定义了 dim temp as string后面的程序里你不小心把temp写成了tmp则vb认为需要生成一个新变量定义dim tmp来使用,这个定义生成是自动的。对于你来说,会发现程序似乎没有问题,却一直运行不对。

Trim()函数:去掉字符串前面和后面的空格例如:StrA=" abc ";StrB=trim(StrA)StrB的值就变成了"abc"

MsgBox:信息提示函数,用来提示我们当前的指定信息最基本使用方法:msgbox “字符串”,其实就是弹出一个对话框。

vbOKOnly + vbExclamation:MsgBox的类型,vbOKOnly只有一个“确定”按钮

vbExclamation 左边有个警告符号(黄色三角)

txtuser.SetFocus:即用户名输入框聚焦,意识是输入完以后鼠标光标还在用户名输入框里闪烁等待输入

sql = "select * from 系统管理 where 用户名='" & txtuser.Text & "'"

rs_login.Open sql, conn, adOpenKeyset, adLockPessimistic   '第一个添sql语句,第二个添连接对象,第三四个想了解可以看下图

  图:ADODB中的Recordset对象


rs_login.Fields(1):Fields(0)相当于第0列,Fields(1)相当于第1列

 

第二个窗体:main即主界面


图书管理系统主界面上方的菜单栏是用工具中的菜单编辑器生成的,你可以进去菜单编辑器看中文对应的英文详细名字。

 

第三个窗体:添加图书类别frmaddbookstyle


rs_bookstyle.AddNew:为可更新的 Recordset 对象创建新记录

rs_bookstyle.Update:将数据缓冲区中的内容保存到数据库中

 

第四/五个窗体:修改/删除图书类别frmmodifybookstyle


rs_reader.CursorLocation = adUseClient:看窗口一代码解释中的图:ADODB中的Recordset对象

 

Set DataGrid1.DataSource = rs_reader

当在设计时设置了DataGrid 控件的 DataSource 属性后,就会用数据源的记录集来自动填充该控件,下面三个分别是不允许添加新记录、删除、更新

DataGrid1.AllowAddNew = False                                

DataGrid1.AllowDelete = False                                

DataGrid1.AllowUpdate = False

 

第六个窗体:增加图书信息frmaddbookinfo


Exit Sub:是到这就行结束,不再进行下面的判断了

IsDate:判断输入的是否为日期格式,日期可输入2020-03-22或者2020/03/22

 

第七八个窗体:修改/删除图书信息frmmodifybookinfo


If userpow = "guest" Then

Frame2.Enabled = False

意识是当不是管理员权限时下面Frame框里的四个按钮都是灰色无法点击

 

第九个窗体:frmfindbook查询图书窗体,同时也是图书借阅管理-借书管理-添加借书窗体


第十个窗体:借书frmborrowbook窗体


rs_borrowbook.Fields(6) = DateAdd("Ww", qixian, Date)

比如现在是DATA是2020/3/23,ww表示一周的日数是7,本科的有效期限qixian是4,那么rs_borrowbook.Fields(6)的值是2020/4/20,即2020/3/23加上4*7是28天得2020/4/20。

详细函数解释:DateAdd( interval, number, date):DateAdd函数返回包含一个日期的Variant(Data),这一日期还加上了一段时间间隔。

参数介绍:

1、Interval:必要的,字符串表达式,是所要加上去的时间间隔。

2、number:必要的,数值表达式,是要加上的时间间隔的数目。其数值可以为正数(得到未来的日期),也可以是负数(得到过去的日期)。

3、date:必要的,Variant(Date)或表示日期的文字,这一日期还加上了时间间隔。

interval参数介绍:

Yyyy 年

Q 季

m月

y一年的日数

d日

w一周的日数

ww周

h时

n分钟

s秒

 

第十一个窗体:添加读者类别frmaddreaderstyle


 

第十二和十三个窗体修改和删除读者类别frmmodifyreaderstyle


第十四个窗体:添加读者信息frmaddrederinfo


Combo2.AddItem "男"

Combo2.AddItem "女"

这两句是Combox控件的语法,依次往下添加内容

 

第十五十六个窗体:修改和删除读者信息frmmodifyreaderinfo


 

第十七个窗体查询读者信息frmfindreader


If Check1.Value = vbChecked Then

判断框中对勾是否点击,点中对勾后才继续执行

 

第十八个窗体查询借书信息frmfindborrowinfo

第十九个窗体还书frmbackbookinfo

第二十个窗体添加管理员frmadduser


sql = "select * from 系统管理"

rs_add.Open sql, conn, adOpenKeyset, adLockPessimistic

While (rs_add.EOF = False)

If Trim(rs_add.Fields(0)) = Trim(Text1.Text) Then

MsgBox "已有这个用户", vbOKOnly + vbExclamation

。。。

Else

rs_add.MoveNext

End If

Wend

 

当rs_add.Open sql, conn, adOpenKeyset, adLockPessimistic

这句执行完时,rs_add在系统管理表中的第一个记录处,rs_add.EOF是False,While (rs_add.EOF = False)为真,循环执行判断是否已经有这个用户,然后rs_add.MoveNext使得rs_add依次往下移动,直到移到表中最后一个记录时变为TRUE,终止while循环。

 

第二十一个窗体修改密码frmchangepwd


If Trim(Text1.Text) <> Trim(Text2.Text) Then       '判断两次输入的密码是否一样。

 

注:工程文件代码里也有注释解释;文档后面部分窗体下面没有代码解释,因为和前面窗体的代码大同小异,看懂前面几个窗体代码也就能看懂后面窗体代码了。


视频地址:

【开源讲解】VB+sqlserver万能管理系统+安装包vb和sqlserver+安装运行全流程

VB-【万能XXX管理系统】各窗体核心代码解释的评论 (共 条)

分享到微博请遵守国家法律