您的位置:首页 > 其它

学生信息管理系统的收获

2014-07-31 20:26 274 查看
一、防止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                     

这就是我在敲学生信息管理系统里的收获,敬请斧正!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: