学生信息管理系统的收获

一、防止SQL输入

所谓SQL输入就是在登陆时在用户名那输入一条sql语句,使数据库被进入,黑客可以通过这种方式查看或修改数据库。

再输入时会先输入“ ‘ ”,所以有了下面的防止方法!

If txtusername.Text = "'" Then
    MsgBox "用户名非法!", vbOKOnly + vbExclamation, "警告"
    txtusername.SetFocus
    txtusername.Text = ""
    Exit Sub
End If

二、当数据完全删除时提示添加数据

源码在执行修改信息的窗体时,当数据完全删除时会报错,其错误原因是游标指到了空的地方。所以加入了一下的限制。

If objrs.EOF Then
    str = MsgBox("无数据了!是否需要添加?", vbOKCancel, "删除当前记录")
       ' MsgBox "", vbOKOnly + vbExclamation, "提示"
        If str = vbOK Then
        frmAddsinfo.Show
        
       Else
       Unload Me
       End If     


三、入学年龄要大于出生年龄

源码中对入学年龄和出生年龄的格式有限制,可是对出生年龄和入学年龄的大小没限制。

用下面简单的代码即可限制。

    If txtRudate.Text < txtBorndate.Text Then
            MsgBox "入校日期小于出生日期!", vbOKOnly + vbExclamation, "警告"
            Exit Sub
     End If


四、在设置课程的不重复

在设置课程的窗体中,课程可以重复添加,这是不合理的,加入下面代码即可限制

Dim i, j As Long
    For i = 0 To listSelectcourse.ListCount - 1
        For j = listSelectcourse.ListCount - 1 To i + 1 Step -1
            If listSelectcourse.List(j) = listSelectcourse.List(i) Then
            Dim m As Long
                m = MsgBox("课程重复!是否继续添加!!", vbOKOnly + vbExclamation, "警告")
                    If m = vbYes Then
                        End
                    Else
                        listSelectcourse.RemoveItem j
                    End If
            End If
        Next j
    Next i
    If (listAllcourse.ListIndex <> -1) Then
        listSelectcourse.AddItem listAllcourse.List(listAllcourse.ListIndex)
        listAllcourse.RemoveItem listAllcourse.ListIndex
    End If


五、用dsn和sql两种方法连接数据库

Dsn连接数据库

ConnectString ="FileDSN=studentinfo.dsn;UID=sa;PWD=TGB520;"

  Dim cnn As ADODB.Connection

Dim rst As ADODB.Recordset

    Set cnn = New ADODB.Connection

    cnn.Open ConnectString

    cnn.Execute SQL

    Set rst = New ADODB.Recordset

    rst.Open Trim$(SQL), cnn, adOpenKeyset,adLockOptimistic

    Set ExecuteSQL = rst

 

   Sql连接数据库

Public Const strCn As String = "Provider=SQLOLEDB.1;Password=TGB520;PersistSecurity Info=True;User ID=sa;Initial Catalog=Student;DataSource=192.168.26.42"

Dim objcn As NewConnection

Dim objrs As NewRecordset

objcn.Open strCn

 objrs.ActiveConnection =objcn

With objrs

.CursorLocation = adUseClient

        .CursorType = adOpenStatic

        .LockType = adLockOptimistic

 End With

objrs.Open txtSQL                     



这就是我在敲学生信息管理系统里的收获,敬请斧正!


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值