学生信息管理系统 之经典语句


1 数据库连接方式

这里用sql的连接方式

 ConnectString="provider=sqloledb.1;persist security info=false;User ID=sa;PassWord=hanhan12121; Initial Catalog=student;Data Source=.

这里要说到一点。如果是本机连接,那么 data source可以写上本机的用户名如: data source=lenovo-Pc或是直接用一个英文状态的点代替

若是要远程,那么就不可以写本机的用户名了,就要换做本机的iP地址,而且连接的字符串中不能出现Persist Security Info=False,因为这个安全机制是只有本地的windows身份登陆才有的。

2 打开表

首先定义变量

Dim mrc as ADODB.Recordset  ‘定义记录集

Dim txSQLt as string  ‘定义连字符串变量

Dim msgtext as strng 

  txtsql = "select *from student_info where student_ID='" & Trim(txtSId.Text) & "'"

  Set mrc = executesql(txtsql, msgtext)

以上两句是打开表 student,以学生ID号位条件查询。executesql是自己定义的一个执行函数。

3 判断文本框输入

A 防止空

 If Not testtxt(txtSId.Text) Then '防止输入空行

     MsgBox "请输入学号!", vbOKOnly + vbecxlamation, "警告!"  

   txtSId.SetFocus   ‘文本框获得焦点

    txtSId.selstart=0  ‘焦点置前

    txtSID.selength=Len(txtSID.text) ‘选中文本框的文字

    Exit Sub

 End If  

这里时调用了一个在模块中定义好的一个判断是否为空的函数

Public Function testtxt(txt As String) As Boolean '定义字符是否为空函数

 If Trim(txt) = "" Then  ‘ 如果文本框中输入为空,则返回false, 

    testtxt = False     ‘否则返回true

  Else

    testtxt = True

End If

End Function

     End If

B 防止输入不是数字

If Not IsNumeric(Trim(txtSId.Text)) Then  ‘ 判断输入是否为数字

       MsgBox "学号请输入数字", vbOKOnly + vbExclamation, "警告!"   '提示框

       Exit Sub ‘这个Exit Sub 是少不了的,因为这样可以直接退出过程避免下面的问题出现

        txtSId.SetFocus ' 获取焦点

txtSId.selstart=0  ‘焦点置前

txtSID.selength=Len(txtSID.text) ‘选中文本框的文字

这样的一个效果就是相当于自动全选文本的文字,并且焦点在首位。这样就避免再次动用鼠标了

C 调用 Isdate函数,判断是否为日期输入格式

If Not IsDate(txtborndate.Text) Then '判断出生日期

       MsgBox "出生时间输入日期格式(yyyy-mm-dd)", vbOKOnly + vbExclamation, "警告"

      txtborndate.SetFocus 

 Else

   txtborndate = Format(txtborndate, "yyyy-mm-dd")

 end if

4 数据操作

记录集的查找

如下图所示

单击第一条记录则走向第一条

 Mrc.movefirst

 Call  resource  ‘显示源数据

Mrc.moveprevious  ‘上一条记录

 If mrc.BOF then 

   Mrc. Movelast 

         End if 

      Call  resource 

这里调用了自定义的rosorce 的函数,这个函数是显示原来的数据

数据的更新与删除

数据更新首先确定是否修改,没有修改则提示修改,这里就巧妙用到了布尔变量

在更新操作里添加了public的布尔变量 mrcclean,若修改mrccleanfalse,否则为true。所以直接点击更新会提示先修改

更新操作

首先确定输入内容不能为空,以上已说。

其次打开表方式。也已说明

再次为其添加内容

 mrc.AddNew  '游标在新记录更新数据

                mrc.Fields(0) = Trim(txtSId.Text)

             mrc.Fields(1) = Trim(txtName.Text)

             mrc.Fields(2) = Trim(combosex.Text)

             mrc.Fields(3) = Trim(txtborndate.Text)

              mrc.Update’ 更新记录

                 MsgBox "修改学籍信息成功", vbOKOnly + vbExclamation,' "修改学籍信息"

              Call viewdata ‘ 显示原来数据

这里还涉及到一个就是导航栏与文本框的是否有效

如,刚加载的时候

要确保导航栏有效,输入文本框无效。

删除记录

这里用到了自动跳转记录

Dim mybookmark As Variant
On Error GoTo 1
  mybookmark = mrc.Bookmark '设置标记
  str2 = MsgBox("是否删除当前记录", vbOKOnly + vbExclamation + vbOKCancel, "警告")
    If str2 = vbOK Then
    
       mrc.MoveNext’ 走向下一个记录
         If mrc.EOF Then ‘ 如果走到结尾
             mrc.MoveFirst  ‘转向第一个记录
             mybookmark = mrc.Bookmark ' 设置标记
             mrc.MoveLast '到最后一个记录
             mrc.Delete ‘ 删除记录
             mrc.Bookmark = mybookmark '取消标记
             Call viewdata  '显示原来数据
         Else
           mybookmark = mrc.Bookmark 
             mrc.MovePrevious  ‘ 走向上一个记录
             mrc.Delete
             mrc.Bookmark = mybookmark
              Call viewdata
          End If
       Else ‘若取消删除,则取消标记,显示原来数据
          mrc.Bookmark = mybookmark
           Call viewdata
       End If
    1:


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值