学生信息管理系统(一)

一:

dbo.sysobjects 为系统数据库master中的系统表sysobjects;

OBJECT_ID:返回数据库对象标识号。N是显式的将非unicode字符转成unicode字符,写作object_id(PerPersonData);

OBJECTPROPERTY:返回当前数据库中对象的有关信息。“1”表“真”。同样可以写成OBJECTPROPERTY(id, isUserTable) = 1;

 

例如:

if exists (select * from sysobjects where objectproperty(object_id('P_QueryStockWarning'),'isProcedure') = 1)

 这句话判断存储过程'P_QueryStockWarning'是否存在.

 

二:COLLATE Chinese_PRC_CI_AS

学生信息管理系统(一)_第1张图片

其中唯一陌生的是COLLATE Chinese_PRC_CI_AS

指定SQL server的排序规则
Chinese_PRC指的是中国大陆地区,如果是台湾地区则为Chinese_Taiwan
CI指定不区分大小写,如果要在查询时区分输入的大小写则改为CS
AS指定区分重音,同样如果不需要区分重音,则改为AI
COLLATE可以针对整个数据库更改排序规则,也可以单独修改某一个表或者某一个字段的排序规则,指定排序规则很有用,比如用户管理表,需要验证输入的用户名和密码的正确性,一般是要区分大小写的。

 

三:recordset的bookmark属性

一标识 Recordset 对象中当前记录的书签,或者将 Recordset 对象的当前记录设置为由有效书签所标识的记录。

 

打开 Recordset 对象时,其每个记录都有唯一的书签。要保存当前记录的书签,请将 Bookmark属性的值赋给一个变量。移动到其他记录后要快速返回到该记录,请将该 Recordset对象的 Bookmark属性设置为该变量的值。

学生信息管理系统(一)_第2张图片

四:Getusername   函数

使用的必要用:

随着系统安全性的加强,每个系统里越来越多不同的帐号登录。假如你正在开发一个上网安全软件,让不同的用户有不同的上网权限,这样就需要识别当前的用户是什么帐号登录了,然后再作出权限分配。还有出错时,也需要对当前帐号进行记录下来,因为不同的帐号有不同的权限,有些磁盘是不允许操作的。面对这些需求,就需要使用函数GetUserName。

 

Declare Function GetUserName Lib "advapi32.dll " Alias "GetUserNameA " (ByVal lpBuffer As String, nSize As Long) As Long

 

说明

取得当前用户的名字

返回值

Long,TRUE(非零)表示成功,否则返回零。会设置GetLastError

参数表

参数 类型及说明

lpBuffer String,一个字串缓冲区,预先初始化成由nSize指定的长度。它将用于容纳用户名,是获取名称缓冲区。

nSize Long,初始化成lpBuffer的长度。返回以后,它会包含载入lpBuffer的字符数量 ,是缓冲区的大小和返回帐号的大小。

 

五:sub main()  的一般作用(可以参考MSDN)

目前理解到的有两个:

1是防止一些比较大的程序启动时间长,使用户误认为卡死了。用sub main()过程启动展示屏

Private Sub Main()
   '显示快速显示。
   frmSplash.Show
   '在此处添加启动过程。
   ...
   '显示主窗体并卸载快速显示。
   frmMain.Show
   Unload frmSplash
End Sub

2有时候也许要应用程序启动时不加载任何窗体。例如:可能想先运行装入数据文件的代码,然后再根据数据文件的内容决定显示几个不同窗体中的哪一个。要做到这一点,可在标准模块中创建一个名为 Main 的子过程,如下面的例子所示。

Sub Main()
   Dim intStatus As Integer  
   '调用一个函数过程来检验用户状态。
   intStatus = GetUserStatus
   '根据状态显示某个启动窗体。
   If intStatus = 1 Then
      frmMain.Show
   Else
      frmPassword.Show
   End If

你可能感兴趣的:(学生信息管理系统(一))