IsEmpty还是IsNull还是IsNothing?

时间:2013-12-05 14:31:26

标签: vbscript qtp

有人可以帮我确定我应该使用哪个?

以下是这种情况 - 我从数据表中的列中提取值。如果该列中有任何内容,我将数据设置为变量并执行操作。如果列是空白的,我想跳过它。

我很困惑哪个IsWHATEVER语句最好。例如:

If IsEmpty(Datatable.Value("M4","Data_Entry"))=False Then

OR

If IsNull(Datatable.Value("M4","Data_Entry"))=False Then

OR

If IsNothing(Datatable.Value("M4","Data_Entry"))=False Then

建议?

2 个答案:

答案 0 :(得分:2)

我刚刚尝试了所有选项,发现这是最正确的选择:

If (DataTable.Value("M4","Global") <> "") Then

您的原始选项不适用于QTP数据表,因为它们适用于未初始化的对象或变量。但是,在QTP中,只要在Datatable中创建参数,第一个值就会初始化为 blank (不要与 empty 混淆)。

答案 1 :(得分:0)

我同意shreyansp .. 3个选项适用于变量和对象

您也可以使用以下表达式

If len(trim(DataTable.Value("M4","Global"))>0 Then
   'Do code here
End If