vb吐槽班04 一句话,不想多说

vb吐槽班04 一句话,不想多说,第1张

概述        Ti3输了    好了,继续上次说的吧。    上次写的欠考虑了,什么都想不出来就乱写了,后来想想,没见过学生信息管理系统的,根本不知道我在说些什么。    那么这次还是仔细一点吧。不过毕竟是吐槽班,不是提高班,才不想那些什么严肃的风格,本来这些东西看着就烦,难道我们还要延续大学的那种教育方式不成?算了,一说起教育又要各种长篇大论了。        剩下的就是整个信息管理系统的部分

Ti3输了

好了,继续上次说的吧。

上次写的欠考虑了,什么都想不出来就乱写了,后来想想,没见过学生信息管理系统的,根本不知道我在说些什么。

那么这次还是仔细一点吧。不过毕竟是吐槽班,不是提高班,才不想那些什么严肃的风格,本来这些东西看着就烦,难道我们还要延续大学的那种教育方式不成?算了,一说起教育又要各种长篇大论了。

剩下的就是整个信息管理系统的部分了,总的来说就是,添加,修改,查询三大功能,然后连接上数据库对数据库,更新数据库中的内容

先从简单的添加开始

Private Sub cmdOK_Click()    Dim mrc As ADODB.Recordset    Dim Msgtext As String    Dim txtsql As String        If Not Testtxt(txtCourseno.Text) Then        MsgBox "请输入课程编号",vbOKOnly + vbExclamation,"警告"        txtCourseno.SetFocus        Exit Sub    End If        If Not Testtxt(comboCoursetype.Text) Then        MsgBox "请选择课程类型","警告"        comboCoursetype.SetFocus        Exit Sub    End If        If Not Testtxt(txtCoursename.Text) Then        MsgBox "请输入课程名称","警告"        txtCoursename.SetFocus        Exit Sub    End If        If Not Testtxt(txtCoursedes.Text) Then        MsgBox "请输入课程描述","警告"        txtCoursedes.SetFocus        Exit Sub    End If        If Not IsNumeric(Trim(txtCourseno.Text)) Then        MsgBox "请输入数字编号","警告"        txtCourseno.SetFocus        Exit Sub    End If    '检测是否输入规范    txtsql = "SELECT * FROM course_info "    Set mrc = Executesql(txtsql,Msgtext)        While (mrc.EOF = False)        If Trim(mrc.FIElds(0)) = Trim(txtCourseno.Text) Then            MsgBox "课程编号已存在,请重新输入","警告"            txtCourseno.SetFocus            Exit Sub        Else            mrc.MoveNext        End If    Wend    '检测是否重复    mrc.AddNew    mrc.FIElds(0) = Trim(txtCourseno.Text)    mrc.FIElds(1) = Trim(txtCoursename.Text)    mrc.FIElds(2) = Trim(comboCoursetype.Text)    mrc.FIElds(3) = Trim(txtCoursedes.Text)    mrc.Update    mrc.Close            MsgBox "添加成功","添加成功"    '不重复则添加一条新纪录    Unload Me        End Sub


   如果是能看懂正规命名的同学们,我不贴图也是没事的吧,注视我也都写了,整体上说一下吧。  

首先,判断你输入的东西是否符合我们要的信息,当然你非得把班号写成“信息技术提高班十期”,我也没治,咱就改改上边的代码就行了。然后,用我们上上期定义的Executesql函数检查一下输入的班号有没有重复的,其实这个也和学号,身份z号啥的一样,一个提高班,不能有俩十期是吧。好的,接下来输入的都OK,我们就把输入的信息添加进记录集,然后update一下,其实挺简单的是吧。。。

修改比较麻烦,我先说说查询。

这个查询就要贴图了。。。

首先上面那个表格似的东西是MSFlexGrID控件,至于怎么整出来,自行百度。

Private Sub Form_Load()    With myflexgrID                                           '初始化flexgrID控件的行标题        .CellAlignment = 4                                    'flexAlignCenter        .TextMatrix(1,0) = "学号"        .TextMatrix(1,1) = "姓名"        .TextMatrix(1,2) = "性别"        .TextMatrix(1,3) = "出生日期"        .TextMatrix(1,4) = "班号"        .TextMatrix(1,5) = "联系电话"        .TextMatrix(1,6) = "入校日期"        .TextMatrix(1,7) = "家庭住址"    End WithEnd Sub
在窗体加载的时候先初始化flexgrID,第一行显示下面这个东西。


然后选好查询方式,输入信息,点击查询。

Private Sub cmdInquire_Click()'不同的选择,对SQL语句进行不同的修改    Dim txtsql As String    Dim Msgtext As String    Dim dd(4) As Boolean    Dim mrc As ADODB.Recordset        txtsql = "SELECT * FROM student_info where "    '检查学号输入    If Check1(0).Value Then        If Trim(txtSID.Text) = "" Then            MsgBox "学号不能为空","警告"            txtSID.SetFocus            Exit Sub        Else            If Not IsNumeric(Trim(txtSID.Text)) Then                MsgBox "请输入数字","警告"                txtSID.SetFocus                Exit Sub            End If            dd(0) = True            txtsql = txtsql & "student_ID='" & Trim(txtSID.Text) & "'"        End If    End If    '检查姓名输入    If Check1(1).Value Then        If Trim(txtname.Text) = "" Then            MsgBox "姓名不能为空","警告"            txtname.SetFocus            Exit Sub        Else            dd(1) = True            If dd(0) Then                txtsql = txtsql & "AND student_name='" & txtname.Text & "'"            Else                txtsql = txtsql & "student_name = '" & txtname.Text & "'"            End If        End If    End If    '检查班号输入    If Check1(2).Value Then        If Trim(txtClassno.Text) = "" Then            MsgBox "班号不能为空","警告"            txtClassno.SetFocus            Exit Sub        Else            dd(2) = True            If dd(0) Or dd(1) Then                txtsql = txtsql & "AND class_no='" & txtClassno.Text & "'"            Else                txtsql = txtsql & "class_no='" & txtClassno.Text & "'"            End If        End If    End If    '如果没有设置,提示    If Not (dd(0) Or dd(1) Or dd(2) Or dd(3)) Then        MsgBox "请设置查询方式","警告"        Exit Sub    End If        txtsql = txtsql & "ORDER BY student_ID"    Set mrc = Executesql(txtsql,Msgtext)    '再次初始化flexgrID    With myflexgrID        .Rows = 2        .CellAlignment = 4        .TextMatrix(1,7) = "家庭住址"        '将mrc中的记录显示出来        do while Not mrc.EOF                                              .Rows = .Rows + 1                                 '这种方式也可防止空白行的出现            .CellAlignment = 4            .TextMatrix(.Rows - 1,0) = mrc.FIElds(0)            .TextMatrix(.Rows - 1,1) = mrc.FIElds(1)            .TextMatrix(.Rows - 1,2) = mrc.FIElds(2)            .TextMatrix(.Rows - 1,3) = Format(mrc.FIElds(3),"yyyy-mm-dd")            .TextMatrix(.Rows - 1,4) = mrc.FIElds(4)            .TextMatrix(.Rows - 1,5) = mrc.FIElds(5)            .TextMatrix(.Rows - 1,6) = Format(mrc.FIElds(6),7) = mrc.FIElds(7)            mrc.MoveNext        Loop     End With     mrc.Close End Sub

就是这种感觉,过程其实还是一样的,检查输入的信息,输入OK的话就查出要的信息,只不过之后就是显示出来罢了。

最麻烦的修改。

稍微改了下源码。

Public Sub vIEwData()'显示记录的函数    txtCourseno.Text = mrc.FIElds(0)    txtCoursename.Text = mrc.FIElds(1)    comboCoursetype.Text = mrc.FIElds(2)    txtCoursedes.Text = mrc.FIElds(3)End Sub
Private Sub Form_Load()'载入第一条记录    Dim txtsql As String    Dim Msgtext As String        txtsql = "SELECT * FROM course_info"    Set mrc = Executesql(txtsql,Msgtext)    If mrc.RecordCount = 0 Then    '如果没有记录,提示并使按钮不可用        MsgBox "没有记录","警告"        Exit Sub    Else        '显示第一条记录        mrc.MoveFirst        Call vIEwData        mybookmark = mrc.Bookmark    End IfEnd Sub
Private Sub cmdUpdate_Click()    Dim txtsql As String    Dim Msgtext As String    Dim mrcc As ADODB.Recordset    Dim mrccc As ADODB.Recordset        '确认输入的信息是否符合规范    If Not Testtxt(txtCourseno.Text) Then        MsgBox "请输入课程编号","警告"        txtCourseno.SetFocus        Exit Sub    End If    mrc.Delete    '删除当前记录    txtsql = "select * from course_Info where course_No = '" & Trim(txtCourseno.Text) & "'"    Set mrcc = Executesql(txtsql,Msgtext)    If mrcc.EOF = False Then    '课程编号是否重复        MsgBox "课程编号重复,请重新输入","警告"        mrcc.Close        txtCourseno.SetFocus    Else        mrcc.Close                    mrc.AddNew        mrc.FIElds(0) = Trim(txtCourseno.Text)        mrc.FIElds(1) = Trim(txtCoursename.Text)        mrc.FIElds(2) = Trim(comboCoursetype.Text)        mrc.FIElds(3) = Trim(txtCoursedes.Text)        mrc.Update        '添加新的信息        MsgBox "修改课程信息成功","修改成功"        mrc.Bookmark = mybookmark        Call vIEwData    End IfEnd Sub


还能说啥,又是一样的过程。首先在窗体加载的时候载入一个记录,修改时先检查,在查找是否有重复项,最后删除当前记录,添加修改后的记录。

从代码上看,基本上添加修改查询的过程是一样的,只不过是最后对记录做了一些不同的 *** 作。
就我个人而言呢,这些都是在敲完之后,又看了一遍才发现的,有时候我们可以用同一种方法去实现许多的功能,而有时,也需要我们用其他巧妙地方法去实现我们不会的功能,我觉得这是我整个系统学到的最重要的东西。
好了,这期也是因为Ti3的滑铁卢搞得我不想写什么东西了,那就这样吧,我就不信还有人说我博客短!

下期预告: 不做死就不会死,删除最后的记录and设置课程不重复。 以上

总结

以上是内存溢出为你收集整理的vb吐槽班04 一句话,不想多说全部内容,希望文章能够帮你解决vb吐槽班04 一句话,不想多说所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1277731.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-09
下一篇 2022-06-09

发表评论

登录后才能评论

评论列表(0条)

保存