学生信息管理知识总结

学生信息管理系统一直在闷头调代码,很多知识点都没有及时地总结下来,今天代码调试的差不多了。是时候总结一下之前在调试代码的时候遇到的一些自己不明白的知识点了。

一、 mrc

Dim mrc As ADODB.Recordeset定义一个记录集,用来存放数据集对象,以后直接用mrc就可以了。ADODB是动态数据链接对象,Recordset是ADODB的一个子类。

        Dim txtSQL As String'定义字符串变量,表示查询语句
        Dim MsgText As String定义字符串变量,返回查询信息

在RecordSet组件中,常用的属性和方法有:
   1.  mrc.Fields(Count):Recordset对象字段数。
      2.  mrc.addnew :一次性添加一条纪录,记录是指对应于数据源中一行信息的一组完整的相关信息(表中的每一行叫做一个“记录”,每一个记录包含这行中的所有信息),那么mrc.addnew就是一次性添加表的一行信息。

字段:大多数时,表的“列”称为“字段” ,每个字段包含某一专题的信息。就像“通讯录”数据库中,“姓名”、“联系电话”这些都是表中所有行共有的属性,所以把这些列称为“姓名”字段和“联系电话”字段。分隔字段的值可以用 mrc.fields(0)="..",mrc.fields(1)="..",fields()代表一个表中的一列。

      3. mrc.Update,更新数据库

      4.mrc.close,关闭数据库

代码举例:

    '判断是否为重复记录
    txtSQL = "select * from course_Info"
    Set mrc = ExecuteSQL(txtSQL, MsgText)
    '判断是否为空
    While (mrc.EOF = False)
        If (Trim(mrc.Fields(0)) = Trim(txtCourseno.Text)) Then
            MsgBox "课程编号已经存在,请重新输入课程编号!", vbOKOnly + vbExclamation, "警告"
            '清空内容
            txtCourseno.Text = ""
            txtCourseno.SetFocus
            Exit Sub
        Else
            '移动到下一条记录
            mrc.MoveNext
            End If
    Wend
    '添加记录
    mrc.AddNew
    mrc.Fields(0) = Trim(txtCourseno.Text)
    mrc.Fields(1) = Trim(txtCoursename.Text)
    'mrc.Fields(2) = Trim(comboCoursetype.Text)
    comboCoursetype.AddItem "必修"
    comboCoursetype.AddItem "考查"
    mrc.Fields(3) = Trim(txtcoursedes.Text)
    '更新数据库
    mrc.Update
    '关闭数据库对象
    mrc.Close
    MsgBox "添加课程信息成功!", vbOKOnly + vbExclamation, "添加课程信息"
    Unload Me

   

二、SQL语句

1.SELECT + 表字段名 + FROM +数据表名+ WHERE + 筛选条件
    表字段全部就是*,分别就是字段名逗号隔开;筛选条件就是类似于 id=2,name="小明" 之类

    例如:txtSQL = "select * from student_Info where student_ID= '" & Trim(txtSID.Text) & "'",意思就是从student_Info表的student_ID字段中选出学号。

2.Set mrc = ExecuteSQL(txtSQL, MsgText),自定义函数

   ExecuteSQL 执行SQL语句

       里面的两个参数 txtSQL 是指用来执行的SQL语句,即上例中的txtSQL。 MsgText参数指的是实行完SQL语句后的弹出框是成功了还是失败了之类的

三、(.)号与(!)号的区别

.的使用方法有两种形式:

控件.属性(后者是前者的属性)
控件.控件(前者是后者的容器)
而!仅有一种形式:
控件!控件(前者是后者的容器)

圆点操作符“.”用来表示对象的属性和方法,在引用时,需要用到对象的Name、圆点和需要的属性或方法。例如要引用文本框Textl中的文本属性时可用Text1.Text,再如要改变Form1窗体,返回或读取对象高度单位 

         Form1.ScaleHeigh=2000表示。

感叹号(!) 常用于当一个控件作为一个特性访问的情况下,例如引用Fomr2中Text1文本框文本属性时,可采用Form2!text1.text语法格式。

如果在(!)的位置使用(.),会获得窗体上控件特性的直接访问权。在编程时该使用(!)号的尽量使用(!)号,因为(!)能清楚地界定引用的控件名的属性或方法,增加程序的可读性。

四、Trim函数的用法

SQL 中的 TRIM 函数是用来移除掉一个字串中的字头或字尾。最常见的用途是移除字首或字尾的空白。

txtSQL = "select * from student_Info"
                '执行查询操作
                Set mrc = ExecuteSQL(txtSQL, MsgText)
                '添加记录
                mrc.AddNew
                '给每个字段赋值
                mrc.Fields(0) = Trim(txtSID.Text)
                mrc.Fields(1) = Trim(txtName.Text)
                mrc.Fields(2) = Trim(comboGender.Text)
                mrc.Fields(3) = Trim(txtBorndate.Text)
                mrc.Fields(4) = Trim(comboClassno.Text)
                mrc.Fields(5) = Trim(txtTel.Text)
                mrc.Fields(6) = Trim(txtRudate.Text)
                mrc.Fields(7) = Trim(txtAddress.Text)
                mrc.Fields(8) = Trim(txtComment.Text)
                '更新数据库
                mrc.Update
                MsgBox "添加学籍信息成功!", vbOKOnly + vbExclamation, "警告"
                '关闭数据集对象
                mrc.Close

1、trim函数去除指定的开头字符
select trim(leading 'x' from 'xday') as strTemp from tableName ;
2、trim函数去除指定的结尾字符
select trim(trailing 'x' from 'dayx') as strTemp from tableName ;
3、trim函数去除指定的首部和尾部字符
select trim(both 'x' from 'xdayx') as strTemp from tableName ;
4、默认情况下,trim函数会去除首部和尾部,被指定的字符
select trim('x' from 'xdayx') as strTemp from tableName ;
5、如果没有指定被移除的字符,则会默认去除首部和尾部的空格
select trim(' day ') as strTemp from tableName ;

四、char、nchar、varchar、nvarchar的区别

1.定义:

char:    固定长度,存储ANSI字符,不足的补英文半角空格。


nchar:   固定长度,存储Unicode字符,不足的补英文半角空格


varchar:  可变长度,存储ANSI字符,根据数据长度自动变化。


nvarchar: 可变长度,存储Unicode字符,根据数据长度自动变化。

     nvarchar(n) :包含 n个字符的可变长度 Unicode(统一码、万国码、单一码) 字符数据。n 的值必须介于 1  与  4,000 之间。字节的存储大小是所输入字符个数的两倍。所输入的数据字符长度可以为零。


        varchar[(n)]:长度为 n 个字节的可变长度且非 Unicode的字符数据。n 必须是一个介于   1 和 8,000之间的数值。存储大小为输入数据的字节的实际长度,而不是 n 个字节。所输入的数据字符长度可以为零。


注意:ANSI主要是以单字节来存储数据,一般适合英文。而我们常用的汉字需要用两个字节来存储,所以就要使用unicode的数据类型,不然读取出来的数据可能会乱码。

2.区别:

①从存储方式上,nvarchar是按字符存储的,而 varchar是按字节存储的;

        ②从存储量上考虑, varchar比较节省空间,因为存储大小为字节的实际长度,而 nvarchar是双字节存储;

        ③在使用上,如果存储内容都是英文字符而没有汉字等其他语言符号,建议使用varchar;含有汉字的使用nvarchar,因为nvarchar是使用Unicode编码,即统一的字符编码标准,会减少乱码的出现几率;

④   如果你做的项目可能涉及不同语言之间的转换,建议用nvarchar。

猜你喜欢

转载自blog.csdn.net/f_kld/article/details/76467907