智能排课系统vb代码.docx
- 文档编号:28219332
- 上传时间:2023-07-09
- 格式:DOCX
- 页数:24
- 大小:637.38KB
智能排课系统vb代码.docx
《智能排课系统vb代码.docx》由会员分享,可在线阅读,更多相关《智能排课系统vb代码.docx(24页珍藏版)》请在冰豆网上搜索。
智能排课系统vb代码
Vb核心代码设计
一:
输入界面与代码(以班级表为例)
DimConnAsNewADODB.Connection'连接变量
DimSqlStringAsString'查询字符串
DimConnstringAsString'连接字符串
DimRS1AsNewADODB.Recordset'记录集变量
Dimbm'定义一个变量用来存放添加记录时原来记录的位置
DimtjAsBoolean
PrivateSubCommand10_Click()
Form4.Hide
Form3.Show
EndSub
PrivateSubCommand1_Click()'移到首记录
RS1.MoveFirst
Command1.Enabled=False
Command2.Enabled=False
Command3.Enabled=True
Command4.Enabled=True
CallDispValue'显示当前记录的值
EndSub
PrivateSubCommand2_Click()'前移
RS1.MovePrevious
IfRS1.BOFThen
RS1.MoveFirst
Command1.Enabled=False
Command2.Enabled=False
EndIf
Command3.Enabled=True
Command4.Enabled=True
CallDispValue'显示当前记录的值
EndSub
PrivateSubCommand3_Click()'后移
RS1.MoveNext
IfRS1.EOFThen
RS1.MoveLast
Command3.Enabled=False
Command4.Enabled=False
EndIf
Command1.Enabled=True
Command2.Enabled=True
CallDispValue'显示当前记录的值
EndSub
PrivateSubCommand4_Click()'移到末记录
RS1.MoveLast
Command3.Enabled=False
Command4.Enabled=False
Command1.Enabled=True
Command2.Enabled=True
CallDispValue'显示当前记录的值
EndSub
PrivateSubCommand5_Click()'删除记录
If(MsgBox("真的要删除该记录吗?
",vbQuestion+vbYesNo,"删除提示")=vbYes)Then
RS1.Delete'删除
RS1.MoveNext
IfRS1.EOFThen'如果删除的是末记录
RS1.MoveLast
EndIf
EndIf
CallDispValue'显示当前记录的值
EndSub
PrivateSubCommand6_Click()'添加记录
bm=RS1.Bookmark'用书签记下当前记录位置
RS1.AddNew'调用AddNew方法增加新记录
CallEditStatus'置按钮和文本框状态
CallEmptyText'清空文本框
tj=True'是添加新记录
EndSub
PrivateSubCommand7_Click()'修改记录
CallEditStatus'置按钮和文本框状态
tj=False'不是添加记录,是修改记录
EndSub
PrivateSubCommand8_Click()'确定操作
CallSetValue'给各字段赋值
RS1.Update'调用Update方法保存
CallOkStatus'置按钮和文本框状态
MsgBox("保存成功")'给出保存成功提示
EndSub
PrivateSubCommand9_Click()'取消操作
If(MsgBox("真的要取消修改吗?
",vbQuestion+vbYesNo))=vbYesThen
RS1.CancelUpdate
IftjThen'如果是增加新记录
RS1.Bookmark=bm'把记录指针移动到原来的位置
EndIf
CallDispValue'显示当前记录的值
CallOkStatus'置按钮和文本框状态
EndIf
EndSub
PrivateSubForm_Load()
Connstring="Driver={SQLServer};Server=PC2012110412ewr.;Database=GXPK;"_
&"uid=sa;pwd=t123"'SQLServer普通安全模式建立到Pubs数据库的连接的连接字符串
'设置连接字符串
WithConn
.ConnectionString=Connstring'给ConnectionString属性赋值
.ConnectionTimeout=10
.Open'给连接的ConnectionString属性赋值,然后使用求带参数的Open方法打开连接
EndWith
MsgBox("连接成功")
RS1.CursorType=adOpenDynamic
RS1.CursorLocation=adUseClient'游标服务的位置、默认值adUseServer。
游标用于:
控制记录定位、控制其他用户对数据库所作的更改的可视性、控制数据可更新性
RS1.LockType=adLockOptimistic
RS1.Open"班级信息表",Conn,3,3
IfRS1.EOFAndRS1.BOFThen'如果表为空
MsgBox"表为空,请添加记录"
Else
CallDispValue'显示当前记录的值
EndIf
CallTextDisable'使文本框不可用
Command8.Enabled=False
Command9.Enabled=False
EndSub
PrivateSubDispValue()
Text1.Text=RS1.Fields("班级编号")
IfIsNull(Trim(RS1.Fields("班级名称")))Then'解决课程名字段值为空移指针出错(无效使用NULL)的问题,其他字段类推。
Text2.Text=""
Else
Text2.Text=RS1.Fields("班级名称")
EndIf
Text5.Text=RS1.Fields("所属系")
Text7.Text=RS1.Fields("学生人数")
EndSub
PrivateSubSetValue()
RS1.Fields("班级编号")=Text1.Text
RS1.Fields("班级名称")=Text2.Text
RS1.Fields("所属系称")=Text5.Text
RS1.Fields("学生人数")=Text7.Text
EndSub
PrivateSubTextEnable()'使所有的文本框可用
Text1.Enabled=True
Text2.Enabled=True
Text5.Enabled=True
Text7.Enabled=True
EndSub
PrivateSubTextDisable()'使所有的文本框不可用
Text1.Enabled=False
Text2.Enabled=False
Text5.Enabled=False
Text7.Enabled=False
EndSub
PrivateSubEditStatus()'设置在编辑或添加记录时的各控件状态
Command1.Enabled=False
Command2.Enabled=False
Command3.Enabled=False
Command4.Enabled=False
Command5.Enabled=False
Command6.Enabled=False
Command7.Enabled=False
Command8.Enabled=True
Command9.Enabled=True
CallTextEnable
EndSub
PrivateSubEmptyText()'清空文本框
Text1.Text=""
Text2.Text=""
Text5.Text=""
Text7.Text=""
EndSub
PrivateSubOkStatus()'设置不在编辑或添加记录时的各控件状态
Command1.Enabled=True
Command2.Enabled=True
Command3.Enabled=True
Command4.Enabled=True
Command5.Enabled=True
Command6.Enabled=True
Command7.Enabled=True
Command8.Enabled=False
Command9.Enabled=False
CallTextDisable
EndSub
2、查看课表窗口及代码(以教室课表为例)
DimConnAsNewADODB.Connection'连接变量
DimSqlStringAsString'查询字符串
DimConnstringAsString'连接字符串
DimRS1AsNewADODB.Recordset'记录集变量
DimCmdAsNewADODB.Command
PrivateSubCommand1_Click()
Connstring="Driver={SQLServer};Server=PC2012110412ewr.;Database=GXPK;"_
&"uid=sa;pwd=t123"'SQLServer普通安全模式建立到Pubs数据库的连接的连接字符串
'设置连接字符串
WithConn
.ConnectionString=Connstring'给ConnectionString属性赋值
.ConnectionTimeout=10
.Open'给连接的ConnectionString属性赋值,然后使用求带参数的Open方法打开连接
EndWith
MsgBox("连接成功")
Command1.Enabled=False'连接按钮不可用
Command2.Enabled=True'显示数据可用
EndSub
PrivateSubCommand2_Click()
SetCmd.ActiveConnection=Conn'设置Command对象的ActiveConnection为某个打开的连接
SqlString="Select课程名称,教师姓名,上课教室,班级编号,上课时间from排课表Where上课教室like'"&Text1.Text&"'"'形成查询字符串1
Cmd.CommandText=SqlString'设置Command对象执行的命令字符串
Cmd.CommandType=adCmdText'设置命令类型,表示CommandText中为一命令文本,童P188
SetRS1=Cmd.Execute'执行命令得到一个结果记录集
CallShowData(RS1,MSFlexGrid1)'调用过程显示记录集中的数据
Command1.Visible=True
EndSub
PrivateSubShowData(RsAsADODB.Recordset,DgridAsMSFlexGrid)
'该过程用来在Dgrid网格中显示记录集RS中的内容
DimRowNumAsInteger
RowNum=1'代表MsFlexGrid控件的行数
Dgrid.Rows=RowNum'设置MsFlexGrid控件的行数
Dgrid.Cols=Rs.Fields.Count'设置MsFlexGrid控件的列数
Forj=0ToRs.Fields.Count-1'遍列所有列
Dgrid.TextMatrix(0,j)=Rs.Fields(j).Name'把列名显示在设置MsFlexGrid控件的首行
Nextj
DoWhileNotRs.EOF'如果不是记录集的结尾
RowNum=RowNum+1'行数加1
Dgrid.Rows=RowNum'设置MsFlexGrid控件的行数
Forj=0ToRs.Fields.Count-1'遍列所有列
IfNotIsNull(Rs.Fields(j).Value)Then'如果列中的数据不为空,切记不能用如ifVar1=Null来判断变量Var1的值是否为Null
Dgrid.TextMatrix(RowNum-1,j)=Rs.Fields(j).Value'把列的数据显示在MsFlexGrid的相应网格中
EndIf
Nextj
Rs.MoveNext'记录指针下移
Loop
Command2.Enabled=False
EndSub
PrivateSubCommand3_Click()
Form14.Hide
Form3.Show
EndSub
PrivateSubCommand4_Click()
RS1.Close'关闭记录集
Conn.Close'关闭连接
Text1.Text=""
Command1.Enabled=True'连接按钮不可用
Command2.Enabled=True'显示数据可用
EndSub
PrivateSubCommand5_Click()
DataReport1.ShowvbModal,Me
EndSub
3、查看初始化窗口及代码
OptionExplicit
DimSQLAsString
DimConnAsNewADODB.Connection'连接变量
DimSqlStringAsString'查询字符串
DimConnstringAsString
DimmsgAsString'连接字符串
PrivateSubCmdSave_Click()
'进行初始化操作
DimCounnterAsInteger
Connstring="Driver={SQLServer};Server=PC2012110412ewr.;Database=GXPK;"_
&"uid=sa;pwd=t123"'SQLServer普通安全模式建立到Pubs数据库的连接的连接字符串
'设置连接字符串
WithConn
.ConnectionString=Connstring'给ConnectionString属性赋值
.ConnectionTimeout=10
.Open'给连接的ConnectionString属性赋值,然后使用求带参数的Open方法打开连接
EndWith
MsgBox("连接成功")
ProgressBar1.Visible=True
ProgressBar1.Max=200
ProgressBar1.Value=ProgressBar1.Min
msg=MsgBox("您确实要初始化这些数据吗?
",vbYesNo)
Ifmsg=vbNoThenExitSub
ForCounnter=ProgressBar1.MinToProgressBar1.Max
ProgressBar1.Value=Counnter
IfCheck1.Value=1Then'如果班级信息表被选中
'删除全部提醒信息数据
SQL="deletefrom班级信息表"
Conn.ExecuteSQL
EndIf
IfCheck2.Value=1Then'如果课程信息表被选中
'删除全部通讯日志数据
SQL="deletefrom课程信息表"
Conn.ExecuteSQL
EndIf
IfCheck3.Value=1Then'如果班级课程信息表被选中
'删除全部群组信息数据
SQL="deletefrom任课表"
Conn.ExecuteSQL
EndIf
IfCheck4.Value=1Then'如果教师信息表被选中
'删除全部联系人信息数据
SQL="deletefrom教师信息表"
Conn.ExecuteSQL
EndIf
IfCheck6.Value=1Then'如果排课信息表被选中
'删除全部联系人信息数据
SQL="deletefrom排课表"
Conn.ExecuteSQL
EndIf
NextCounnter
ProgressBar1.Visible=False
ProgressBar1.Value=ProgressBar1.Min
EndSub
PrivateSubCmdExit_Click()
'退出操作
Form15.Hide
Form3.Show
EndSub
PrivateSubForm_Unload(CancelAsInteger)
'退出操作
Form15.Hide
Form3.Show
EndSub
4、查看自动排课窗口及代码
DimConnAsNewADODB.Connection'连接变量
DimSqlStringAsString'查询字符串
DimConnstringAsString
DimdlaytimeAsInteger
PrivateSubCommand2_Click()
DimSQLAsString
DimscAsADODB.Recordset
Setsc=NewADODB.Recordset
SQL="deletel排课表"
EndSub
PrivateSubCommand3_Click()
Form9.Hide
Form3.Show
EndSub
PrivateSubForm_Load()
constr="Driver={SQLServer};Server=PC2012110412ewr.;Database=GXPK;"_
&"uid=sa;pwd=t123"'SQLServer普通安全模式建立到Pubs数据库的连接的连接字符串'定义数据库连接
WithConn
.ConnectionString=constr'给ConnectionString属性赋值
.ConnectionTimeout=10
.Open'给连接的ConnectionString属性赋值,然后使用求带参数的Open方法打开连接
EndWith
MsgBox("连接成功")
ProgressBar1.Visible=True
ProgressBar1.Max=200
ProgressBar1.Value=ProgressBar1.Min
EndSub
PrivateSubCommand1_Click()'开始
DimSQL,sqll,sqlllAsString
DimrtAsNewADODB.Recordset
DimrmAsNewADODB.Recordset
DimrnAsNewADODB.Recordset
DimrpAsNewADODB.Recordset
DimrqAsNewADODB.Recordset
DimiAsInteger
SetRs=NewADODB.Recordset
SQL="select*from任课表"
SetRs=Conn.Execute(SQL)
ProgressBar1.Max=100
DoWhileProgressBar1.Value DoUntilRs.EOF=True i=Rs("每周节数") DoUntili=0 sqll="select*from时间表" Setrt=Conn.Execute(sqll) DoUntilrt.EOF=True Setrp=NewADODB.Recordset coom="select*from排课表where[班级编号]='"+Rs("班级编号")+"'and[上课时间]='"+rt("上课时间")+"'" Setrp=Conn.Execute(coom) cool="select*from排课表where[上课时间]='"+rt("上课时间")+"'and[教师姓名]='"+Rs("教师姓名")+"'" Setrq=Conn.Execute(cool) Ifrp.EOF=TrueAndrq.EOF=TrueThen sqlll="select*from教室信息表" Setrm=Conn.Execute(sqlll) DoUntilrm.EOF=True coon="select*from排课表where[上课时间]='"+rt("上课时间")+"'and[上课教室]='"+rm("教室名称")+"'" Setrn=Conn.Execute(coon) Ifrn.EOF=TrueThen SQL="insertinto排课表([课程名称],[教师姓名],[上课教
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 智能 系统 vb 代码