智能排课系统vb代码Word格式文档下载.docx
《智能排课系统vb代码Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《智能排课系统vb代码Word格式文档下载.docx(20页珍藏版)》请在冰豆网上搜索。
移到末记录
PrivateSubCommand5_Click()'
删除记录
If(MsgBox("
真的要删除该记录吗"
vbQuestion+vbYesNo,"
删除提示"
)=vbYes)Then
'
删除
IfThen'
如果删除的是末记录
PrivateSubCommand6_Click()'
添加记录
bm='
用书签记下当前记录位置
调用AddNew方法增加新记录
CallEditStatus'
置按钮和文本框状态
CallEmptyText'
清空文本框
tj=True'
是添加新记录
PrivateSubCommand7_Click()'
修改记录
tj=False'
不是添加记录,是修改记录
PrivateSubCommand8_Click()'
确定操作
CallSetValue'
给各字段赋值
调用Update方法保存
CallOkStatus'
MsgBox("
保存成功"
)'
给出保存成功提示
PrivateSubCommand9_Click()'
取消操作
真的要取消修改吗"
vbQuestion+vbYesNo))=vbYesThen
IftjThen'
如果是增加新记录
=bm'
把记录指针移动到原来的位置
PrivateSubForm_Load()
Connstring="
Driver={SQLServer};
Server=PC12ewr.;
Database=GXPK;
"
_
&
"
uid=sa;
pwd=t123"
SQLServer普通安全模式建立到Pubs数据库的连接的连接字符串
设置连接字符串
WithConn
.ConnectionString=Connstring'
给ConnectionString属性赋值
.ConnectionTimeout=10
.Open'
给连接的ConnectionString属性赋值,然后使用求带参数的Open方法打开连接
EndWith
连接成功"
)
=adOpenDynamic
=adUseClient'
游标服务的位置、默认值adUseServer。
游标用于:
控制记录定位、控制其他用户对数据库所作的更改的可视性、控制数据可更新性
=adLockOptimistic
班级信息表"
Conn,3,3
IfAndThen'
如果表为空
MsgBox"
表为空,请添加记录"
Else
CallTextDisable'
使文本框不可用
PrivateSubDispValue()
=("
班级编号"
IfIsNull(Trim("
班级名称"
)))Then'
解决课程名字段值为空移指针出错(无效使用NULL)的问题,其他字段类推。
="
所属系"
学生人数"
PrivateSubSetValue()
("
)=
所属系称"
PrivateSubTextEnable()'
使所有的文本框可用
PrivateSubTextDisable()'
使所有的文本框不可用
PrivateSubEditStatus()'
设置在编辑或添加记录时的各控件状态
CallTextEnable
PrivateSubEmptyText()'
PrivateSubOkStatus()'
设置不在编辑或添加记录时的各控件状态
CallTextDisable
2、查看课表窗口及代码(以教室课表为例)
DimCmdAsNew
PrivateSubCommand1_Click()
=False'
连接按钮不可用
=True'
显示数据可用
PrivateSubCommand2_Click()
Set=Conn'
设置Command对象的ActiveConnection为某个打开的连接
SqlString="
Select课程名称,教师姓名,上课教室,班级编号,上课时间from排课表Where上课教室like'
'
形成查询字符串1
=SqlString'
设置Command对象执行的命令字符串
=adCmdText'
设置命令类型,表示CommandText中为一命令文本,童P188
SetRS1='
执行命令得到一个结果记录集
CallShowData(RS1,MSFlexGrid1)'
调用过程显示记录集中的数据
PrivateSubShowData(RsAs,DgridAsMSFlexGrid)
该过程用来在Dgrid网格中显示记录集RS中的内容
DimRowNumAsInteger
RowNum=1'
代表MsFlexGrid控件的行数
=RowNum'
设置MsFlexGrid控件的行数
='
设置MsFlexGrid控件的列数
Forj=0To-1'
遍列所有列
(0,j)=(j).Name'
把列名显示在设置MsFlexGrid控件的首行
Nextj
DoWhileNot'
如果不是记录集的结尾
RowNum=RowNum+1'
行数加1
IfNotIsNull(j).Value)Then'
如果列中的数据不为空,切记不能用如ifVar1=Null来判断变量Var1的值是否为Null
(RowNum-1,j)=(j).Value'
把列的数据显示在MsFlexGrid的相应网格中
记录指针下移
Loop
PrivateSubCommand3_Click()
PrivateSubCommand4_Click()
关闭记录集
关闭连接
PrivateSubCommand5_Click()
vbModal,Me
3、查看初始化窗口及代码
OptionExplicit
DimSQLAsString
DimConnstringAsString
DimmsgAsString'
PrivateSubCmdSave_Click()
进行初始化操作
DimCounnterAsInteger
=200
=
msg=MsgBox("
您确实要初始化这些数据吗"
vbYesNo)
Ifmsg=vbNoThenExitSub
ForCounnter=To
=Counnter
If=1Then'
如果班级信息表被选中
删除全部提醒信息数据
SQL="
deletefrom班级信息表"
SQL
如果课程信息表被选中
删除全部通讯日志数据
deletefrom课程信息表"
如果班级课程信息表被选中
删除全部群组信息数据
deletefrom任课表"
如果教师信息表被选中
删除全部联系人信息数据
deletefrom教师信息表"
如果排课信息表被选中
deletefrom排课表"
NextCounnter
PrivateSubCmdExit_Click()
退出操作
PrivateSubForm_Unload(CancelAsInteger)
4、查看自动排课窗口及代码
DimdlaytimeAsInteger
DimscAs
Setsc=New
SQL="
deletel排课表"
constr="
SQLServer普通安全模式建立到Pubs数据库的连接的连接字符串'
定义数据库连接
.ConnectionString=constr'
开始
DimSQL,sqll,sqlllAsString
DimrtAsNew
DimrmAsNew
DimrnAsNew
DimrpAsNew
DimrqAsNew
DimiAsInteger
SetRs=New
select*from任课表"
SetRs=(SQL)
=100
DoWhile<
DoUntil=True
i=Rs("
每周节数"
DoUntili=0
sqll="
select*from时间表"
Setrt=(sqll)
DoUntil=True
Setrp=New
coom="
select*from排课表where[班级编号]='
+Rs("
)+"
and[上课时间]='
+rt("
上课时间"
Setrp=(coom)
cool="
select*from排课表where[上课时间]='
and[教师姓名]='
教师姓名"
Setrq=(cool)
If=TrueAnd=TrueThen
sqlll="
select*from教室信息表"
Setrm=(sqlll)
coon="
and[上课教室]='
+rm("
教室名称"
Setrn=(coon)
If=TrueThen
insertinto排课表([课程名称],[教师姓名],[上课教室],[班级编号],[上课时间])values('
课程名称"
'
)"
Setrq=(SQL)
ExitDo
i=i-1
Loop
=+1
DoEvents
自动排课已完成"
vbInformation,"
提示"
PrivateSubTimer1_Timer()
Ifdlaytime>
=100Then
LoadfrmLogin
Else
dlaytime=dlaytime+1
=dlaytime
EndIf
5、查看手动调课窗口及代码
Connstring="
Select课程名称,教师姓名,上课教室,班级编号,上课时间from排课表"
调整教室
If="
Or="
)Then
MsgBox("
请输入完整信息"
select*from排课表"
IfRs("
上课教室"
)=Then
该时间段该教室已被占用,请重新选择"
update排课表set[上课教室]='
++"
where[课程名称]='
and[教师姓名]='
and[上课时间]='
教室调整成功"
调整时间
该教室该时间段已被占用,请重新选择"
SetRs=New
update排课表set[上课时间]='
and[教室名称]='
SetRs=(S