Vb核心代码设计一:输入界面与代码(以班级表为例)DimConnAsNewADODB.Connection'连接变量DimSqlStringAsString'查询字符串DimConnstringAsString'连接字符串DimRS1AsNewADODB.Recordset'记录集变量Dimbm'定义一个变量用来存放添加记录时原来记录的位置DimtjAsBooleanPrivateSubCommand10_Click()Form4.HideForm3.ShowEndSubPrivateSubCommand1_Click()'移到首记录RS1.MoveFirstCommand1.Enabled=FalseCommand2.Enabled=FalseCommand3.Enabled=TrueCommand4.Enabled=TrueCallDispValue'显示当前记录的值EndSubPrivateSubCommand2_Click()'前移RS1.MovePreviousIfRS1.BOFThenRS1.MoveFirstCommand1.Enabled=FalseCommand2.Enabled=FalseEndIfCommand3.Enabled=TrueCommand4.Enabled=TrueCallDispValue'显示当前记录的值EndSubPrivateSubCommand3_Click()'后移RS1.MoveNextIfRS1.EOFThenRS1.MoveLastCommand3.Enabled=FalseCommand4.Enabled=FalseEndIfCommand1.Enabled=TrueCommand2.Enabled=TrueCallDispValue'显示当前记录的值EndSubPrivateSubCommand4_Click()'移到末记录RS1.MoveLastCommand3.Enabled=FalseCommand4.Enabled=FalseCommand1.Enabled=TrueCommand2.Enabled=TrueCallDispValue'显示当前记录的值EndSubPrivateSubCommand5_Click()'删除记录If(MsgBox(真的要删除该记录吗?,vbQuestion+vbYesNo,删除提示)=vbYes)ThenRS1.Delete'删除RS1.MoveNextIfRS1.EOFThen'如果删除的是末记录RS1.MoveLastEndIfEndIfCallDispValue'显示当前记录的值EndSubPrivateSubCommand6_Click()'添加记录bm=RS1.Bookmark'用书签记下当前记录位置RS1.AddNew'调用AddNew方法增加新记录CallEditStatus'置按钮和文本框状态CallEmptyText'清空文本框tj=True'是添加新记录EndSubPrivateSubCommand7_Click()'修改记录CallEditStatus'置按钮和文本框状态tj=False'不是添加记录,是修改记录EndSubPrivateSubCommand8_Click()'确定操作CallSetValue'给各字段赋值RS1.Update'调用Update方法保存CallOkStatus'置按钮和文本框状态MsgBox(保存成功)'给出保存成功提示EndSubPrivateSubCommand9_Click()'取消操作If(MsgBox(真的要取消修改吗?,vbQuestion+vbYesNo))=vbYesThenRS1.CancelUpdateIftjThen'如果是增加新记录RS1.Bookmark=bm'把记录指针移动到原来的位置EndIfCallDispValue'显示当前记录的值CallOkStatus'置按钮和文本框状态EndIfEndSubPrivateSubForm_Load()Connstring=Driver={SQLServer};Server=PC2012110412ewr.;Database=GXPK;_&uid=sa;pwd=t123'SQLServer普通安全模式建立到Pubs数据库的连接的连接字符串'设置连接字符串WithConn.ConnectionString=Connstring'给ConnectionString属性赋值.ConnectionTimeout=10.Open'给连接的ConnectionString属性赋值,然后使用求带参数的Open方法打开连接EndWithMsgBox(连接成功)RS1.CursorType=adOpenDynamicRS1.CursorLocation=adUseClient'游标服务的位置、默认值adUseServer。游标用于:控制记录定位、控制其他用户对数据库所作的更改的可视性、控制数据可更新性RS1.LockType=adLockOptimisticRS1.Open班级信息表,Conn,3,3IfRS1.EOFAndRS1.BOFThen'如果表为空MsgBox表为空,请添加记录ElseCallDispValue'显示当前记录的值EndIfCallTextDisable'使文本框不可用Command8.Enabled=FalseCommand9.Enabled=FalseEndSubPrivateSubDispValue()Text1.Text=RS1.Fields(班级编号)IfIsNull(Trim(RS1.Fields(班级名称)))Then'解决课程名字段值为空移指针出错(无效使用NULL)的问题,其他字段类推。Text2.Text=ElseText2.Text=RS1.Fields(班级名称)EndIfText5.Text=RS1.Fields(所属系)Text7.Text=RS1.Fields(学生人数)EndSubPrivateSubSetValue()RS1.Fields(班级编号)=Text1.TextRS1.Fields(班级名称)=Text2.TextRS1.Fields(所属系称)=Text5.TextRS1.Fields(学生人数)=Text7.TextEndSubPrivateSubTextEnable()'使所有的文本框可用Text1.Enabled=TrueText2.Enabled=TrueText5.Enabled=TrueText7.Enabled=TrueEndSubPrivateSubTextDisable()'使所有的文本框不可用Text1.Enabled=FalseText2.Enabled=FalseText5.Enabled=FalseText7.Enabled=FalseEndSubPrivateSubEditStatus()'设置在编辑或添加记录时的各控件状态Command1.Enabled=FalseCommand2.Enabled=FalseCommand3.Enabled=FalseCommand4.Enabled=FalseCommand5.Enabled=FalseCommand6.Enabled=FalseCommand7.Enabled=FalseCommand8.Enabled=TrueCommand9.Enabled=TrueCallTextEnableEndSubPrivateSubEmptyText()'清空文本框Text1.Text=Text2.Text=Text5.Text=Text7.Text=EndSubPrivateSubOkStatus()'设置不在编辑或添加记录时的各控件状态Command1.Enabled=TrueCommand2.Enabled=TrueCommand3.Enabled=TrueCommand4.Enabled=TrueCommand5.Enabled=TrueCommand6.Enabled=TrueCommand7.Enabled=TrueCommand8.Enabled=FalseCommand9.Enabled=FalseCallTextDisableEndSub2、查看课表窗口及代码(以教室课表为例)DimConnAsNewADODB.Connection'连接变量DimSqlStringAsString'查询字符串DimConnstringAsString'连接字符串DimRS1AsNewADODB.Recordset'记录集变量DimCmdAsNewADODB.CommandPrivateSubCommand1_Click()Connstring=Driver={SQLServer};Server=PC2012110412ewr.;Database=GXPK;_&uid=sa;pwd=t123'SQLServer普通安全模式建立到Pubs数据库的连接的连接字符串'设置连接字符串WithConn.ConnectionString=Connstring'给ConnectionString属性赋值.ConnectionTimeout=10.Open'给连接的ConnectionString属性赋值,然后使用求带参数的Open方法打开连接EndWithMsgBox(连接成功)Command1.Enabled=False'连接按钮不可用Command2.Enabled=True'显示数据可用EndSubPrivateSubCommand2_Click()SetCmd.ActiveConnection=Conn'设置Command对象的ActiveConnection为某个打开的连接SqlString=Select课程名称,教师姓名,上课教室,班级编号,上课时间from排课表Where上课教室like'&Text1.Text&''形成查询字符串1Cmd.CommandText=SqlString'设置Command对象执行的命令字符串Cmd.CommandType=adCmdText'设置命令类型,表示CommandText中为一命令文本,童P188SetRS1=Cmd.Execute'执行命令得到一个结果记录集CallShowData(RS1,MSFlexGrid1)'调用过程显示记录集中的数据Command1.Visible=TrueEndSubPrivateSubShowData(RsAsADODB.Recordset,DgridAsMSFlexGrid)'该过程用来在Dgrid网格中显示记录集RS中的内容DimRowNumAsIntegerRowNum=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控件的首行NextjDoWhileNotRs.EOF'如果不是记录集的结尾RowNum=RowNum+1'行数加1Dgrid.Rows=RowNum'设置MsFlexGrid控件的行数Forj=0ToRs.Fields.Count-1'遍列所有列IfNotIsNull(Rs.Fields(j).Value)Then'如果列中的数据不为空,切记不能用如ifVar1=Null来判断变量Var1的值是否为NullDgrid.TextMatrix(RowNum-1,j)=Rs.Fields(j).Value'把列的数据显示在MsFlexGrid的相应网格中EndIfNextjRs.MoveNext'记录指针下移LoopCommand2.Enabled=FalseEndSubPr