学生知识点总结之二

1.VB中,MDIfrom窗体与窗体的MDIchild属性有什么区别?

     MDIForm窗体是多文档界面(MDI)的主窗体,同一个工程中只能有一个MDI主窗体。

    而把某个窗体的MDIChild属性设为True,则这个窗体就由一个普通的SDI(单文档界面)窗体转变为一个MDI(多文档界面)子窗体。

2.vbsql语句的单引号和双引号的用法

""之间是一个字符串,"" 和 "" 用& 连接

例如:strsql =" selcet * from sp_table where xm= '  "  & Text1.Text & " ' "

假如Text1.Text的值是:李四

那么应该写成:

strsql = "select * from sp_where sp_table where xm= ' " 李四 " '"

现在把它分为三部分

         "select * from sp_table where xm= ' "

         李四

         " ' "

李四换成 & Text1.Text &

简单地说,双引号是给VB用的,单引号是给SQL语句用的。

a= "b"                                表示a为b

a=" " b " "                          表示a为" b"

a=" " " " & "b" & " ""         表示a为 " b"

a=" ' b ' "                           表示a为 ' b '

a=" ' " & " b "& " ' "           表示a为 ' b '

3.ExecuteSQL函数

ExecuteSQL(sqlQuery; fieldSeparator;rowSeparator {;arguments...})

参数:                                           

sqlQuery:查询数据的SQL语句。SQL语句中可以使用Union和Where进行联合查询和条件查询。使用?来进行指定条件查询的参数。

fieldSeparator:字段分隔符。如果返回的结果包含多个字段,则使用这个参数指定一个字段分隔符。

rowSeparator:行分隔符。如果返回结果包含多个行,则使用这个参数指定一个行分隔符。

arguments:查询参数。主要是在使用Where子句时指定动态参数使用。

返回值类型:字符串

解释:ExecuteSQL函数不能使用诸如Create,Update,Delete等SQL语句对FileMaker表结构进行修改。只能进行数据查询。

4.$

像biao$="内容" 、a$= inputbox(" ",biao) 中的$都表示biao、a这两个变量是字符串变量。

其它的变量也一样,只要在变量名后面加上$,就表示这个变量是字符串类型的变量。

在vb中,$有两种用法:一种是用在dim语句中,如以下两句是相当的:

dim a$

dim a as string

使用这两种方法声明后,a变量就是一个字符串型变量了。以后程序中可以给它赋值,如:a="345",a="asIH",a=b(假定b是另一个字符串变量),等等。

第二种用法,是用在变量名后面中使用,表示这个变量是一个字符串变量。

但这种用法要注意:

      1、如果已经定义的a不是字符串变量(如dim a as integer),当使用a$时会出现变量类型与声明的类型不同的错误提示。

      2、如果之前没有声明变量类型,而直接使用a$="内容" 并不等于声明了a的变量类型,也就是说它不能代替dim a as string语句。如果在程序前使用了option explicit语句,假如没有声明语句,那么,不管你在使用变量时是否在后面加了$,都会出现变量没有声明的错误提示。

      3、如果没有使用option explicit语句,那所有变量都可以不经声明就可以使用,那样的话,你可以直接用a="内容" 或a$="内容"来给a赋值,这时a自动成为了字符串型变量,加不加$的两句起到的作用都是一样的。

     通过以上2和3分析,我们会发现其实在程序中变量名后面加$是没有什么用处的,加和不加都一样。那么为什么vb有这么外功能呢?笔者认为这是vb的遗传问题:

     老版本的basic(不是visual basic,是它的老祖宗)没有声明变量这一说,只是拿来变量就用,那时规定,数值型变量可以直接用变量名,而字符串变量的名字后面必须加上一个$,以示与数值型的区别,如果不加,就出现错误。后来basic升级为vb,为了使basic编制的程序还能使用,所以vb中还保留了允许在字符串变量名字后面加上$的用法,但加与不加已经没有什么区别了,这也是现在大多数人都不用了的原因。

5.call

Call Statement

call :调用一个过程或函数,如果该函数有参数则函数名后跟括号,括号里边为传递的参数。

6.叹号!与.

     在Visual Basic中,惊叹号“!”与圆点“.”都用于给对象命名,但两者语法上却存在很大的区别,这点在编程时尤其需要注意。

     圆点操作符“.”用来表示对象的属性和方法,在引用时,需要用到对象的Name、圆点和需要的属性或方法。

     .的使用方法有两种形式: 1、控件.属性(后者是前者的属性)2、控件.控件(前者是后者的容器)

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


    虽然两者的语法应用结构有较大差异,但两条语句的性能是相同的,值得注意的是如果你在感叹号“!”的位置使用“.”可以获得对窗体上Text1特性的直接访问权,为了进一步增加感性认识,不妨运行下面的例子来试试。

    1.建立一个新项目,并在Form1窗体中增加一个命令控件。
     2.双击Form1窗体,编辑Form Load事件并输入:
          Form1!Command1.Caption=”Text”
          Form1.Command1.Caption=”It Works”
     3.运行试项目,这时你就会在Command1命令框中看到字符串It Works。


    为了在程序中清楚地界定引用的控件名和该控件的属性或方法,增加程序的可读性,最好使用感叹号“!”。

7. 0、""(空字串)、Null、Empty、与 Nothing 的区别

      先回答以下问题吧! 经过以下的叙述之后, 变量 A、B、C、D 分别等于 0、""、Null、 Empty、 Nothing 的哪一个?

    Dim A

Dim B As String

    Dim C As Integer

Dim D As Object

    A 等于 Empty, 因为尚未初始化的「不定型变量」都等于 Empty。但如果检测 A = "" 或 A = 0, 也都可以得到 True 值。
    B 等于 "", 因为尚未初始化的非固定长度「字串」都等于 "" 。 但请注意 B<> Null。
    C 等于 0, 这个还有问题吗?
    D 等于 Nothing, 尚未设定有物件的「物件变量」都等于 Nothing, 但请不要使用 D = Nothing , 而要使用 D Is Nothing 来判断 D 是否等于 Nothing, 因为判断 是否相等的符号是 Is 不是 = 。


    最令人迷惑的地方是 Null 这个保留字, 请看以下语句:
        Print X = Null
        Print X <> Null
    结果都是输出 Null(不是 True 也不是 False), 这是因为任何一个运算式只要含有 Null,则该运算式就等于 Null, 实际上想要判断某一数据是否为 Null 绝对不能使用:
        If X = Null Then \' 永远都会得到 Null
    而要使用:
        If IsNull(X) Then
    哪一种数据会等于 Null 呢? 除了含有 Null 运算式之外, 就属没有输入任何数据的「数据字段」(在数据库中) 会等于 Null。 

 




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值