【学生】学生优化(四)修改记录及“3021”

举报
Laura_张 发表于 2022/08/26 23:19:49 2022/08/26
【摘要】 一、点击修改记录,记录没有修改的时候也会提示修改成功。 加入一个判重。 原码:进行判断的只有一个条件,但是有的窗体是几个条件同时进行约束的。 '判断是否有重复记录 mrc.Delete txtSQL = "select * from result_Info where student_ID= '" & Trim...

一、点击修改记录,记录没有修改的时候也会提示修改成功。

加入一个判重。

原码:进行判断的只有一个条件,但是有的窗体是几个条件同时进行约束的。


      '判断是否有重复记录
          mrc.Delete
          txtSQL = "select * from result_Info where student_ID= '" & Trim(comboSID.Text) & "'"
         Set mrcc = ExecuteSQL(txtSQL, MsgText)
         If mrcc.EOF = False Then
              MsgBox "学号重复,请重新输入!", vbOKOnly + vbExclamation, "警告"
              mrcc.Close
              comboSID.SetFocus
              comboSID.Text = ""
              txtName.Text = ""
  
 

修改:判重的时候判断所有的约束条件,只要有一个条件进行修改过就可以。


      '判断是否有重复记录
      ' mrc.Delete
          txtSQL = "select * from student_Info where student_ID= '" & Trim(txtSID.Text) & "' and student_Name='" & Trim(txtName.Text) & "' and student_Sex='" & Trim(comboSex.Text) & "' and born_date='" & Trim(DTPicker1.Value) & "' and class_No='" & Trim(comboClassno.Text) & "' and tele_Number= '" & Trim(txtTel.Text) & "' and ru_Date='" & Trim(DTPicker2.Value) & "'and address='" & Trim(txtAddress.Text) & "' and comment= '" & Trim(txtComment.Text) & "'"
         Set mrcc = ExecuteSQL(txtSQL, MsgText)
         If mrcc.EOF = False Then
              MsgBox "记录重复,请重新输入!", vbOKOnly + vbExclamation, "警告"
              mrcc.Close
              txtSID.SetFocus
         Else
  
 

二、删除记录,删除数据库中的全部记录,会出现“3021”。

当数据库中的记录全部删除后,会提示记录删除完毕,并显示添加窗体。


      Private Sub Form_Load()
      'SQL语句进行查询
          txtSQL = "select * from class_Info"
         '执行查询操作
         Set mrc = ExecuteSQL(txtSQL, MsgText)
         '判断数据集中是否还有记录
         If mrc.EOF = False Then
             '移到第一条记录
              mrc.MoveFirst
             '显示数据
             Call viewdata
             '记下当前记录的位置
              mybookmark = mrc.Bookmark
             '给标志赋初值
              mcclean = True
         Else
              str1 = MsgBox("没有班级信息,是否添加班级信息?", vbOKCancel, "提示")
             If str1 = vbOK Then
                  Unload Me
                  frmAddclassinfo.Show
             Else
                  Unload Me
             End If
         End If
      End Sub
  
 

三、删除记录,删除数据库的最后一条记录,会出现“3021”。

直接加入一个跳转,当删除最后一条记录,出现“3021”,就直接跳转到提示框,然后进入添加窗体。


      Private Sub cmdDelete_Click()
      On Error GoTo 1
      ????
      ????
      ????
      ????
      1:
         If Err = 3021 Then
              MsgBox "没有数据了,是否添加数据?", vbOKOnly + vbExclamation, "提示"
             If vbOK Then
                  Unload Me
                  frmAddclassinfo.Show
             Else
                  txtClassno.Text = "'"
                  comboGrade.Text = ""
                  txtDirector.Text = ""
                  txtClassroom.Text = ""
             End If
         End If
      end sub
  
 

四、进入修改窗体之前,先判断是否还有数据。

判断数据库是否为空,如果为空,则不加载窗体,并进入添加窗体。(在主窗体完成)


      Private Sub changeclass_Click()
         Dim mrc As ADODB.Recordset
         Dim txtsql As String
         Dim msgtext As String
         '连接数据库
          txtsql = "select * from class_info"
          Set mrc = ExecuteSQL(txtsql, msgtext)
          '判断是否为空
          If mrc.RecordCount <> 0 Then
               frmModifyclassinfo.Show
          Else
               MsgBox "没有班级信息,请先添加!", vbOKOnly + vbExclamation, "提示"
               Unload Me
              '跳转到添加窗体
               frmAddclassinfo.Show
          End If
      End Sub
  
 

 

文章来源: blog.csdn.net,作者:张艳伟_Laura,版权归原作者所有,如需转载,请联系作者。

原文链接:blog.csdn.net/Laura__zhang/article/details/99776668

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。