学生信息管理系统的收获

来源:互联网 发布:java字节转为字符串 编辑:程序博客网 时间:2024/05/16 16:01

一、防止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 0
原创粉丝点击