我想知道如何检查空字符串。
我创建了一个SQL语句,用于选择数据库中的某些数据。
qry_pkv = "SELECT DISTINCT MANDT, PATH301 FROM NC301B " & _
"WHERE EDIPROC like 'P30_'" & _
"AND (LF301M > 0) " & _
"AND (PATH301 LIKE '%\pkv_dav\%') " & _
"OR (PATH301 LIKE '%\PKV_DAV\%');"
该声明效果很好,但我不知道如何检查qry_pkv
内是否有任何值。
rs.open qry_pkv, cn, 3
Zeile = "Skriptausfuehrung wird gestartet."
Call Trace (3, "I", Zeile)
If qry_pkv <> Null Then
rs.MoveFirst
ReDim Preserve AusgabeDir_pkv(0)
i = 0
Zeile = "PKV_DAV Verzeichnisse" 'Überschrift für LOG-Datei.
Call Trace (3, "@", Zeile) 'Überschrift wird in LOG-Datei geschrieben.
Do While Not rs.EOF 'Schleife für durchsuchen der Datenbank.
ReDim Preserve AusgabeDir_pkv(i)
ReDim Preserve MANDT_pkv(i)
AusgabeDir_pkv(i) = rs("DIRIN") 'Ausgabeverzeichnis wird in Variable gespeichert und verarbeitet.
MANDT_pkv(i) = rs("MANDT")
Zeile = "Verzeichnis in Bearbeitung: " & "MDT " & MANDT_pkv(i) & " PFAD " & AusgabeDir_pkv(i) 'Status der Verarbeitung.
Call Writelog (Zeile) 'Status wird in LOG-Datei geschrieben.
' call loeschen_gio(AusgabeDir_gio(i)) 'Funktion löschen wird aufgerufen um Verzeichnis zu leeren wenn älter n Tage.
i = i+1
rs.MoveNext
Loop
Else
Zeile = "PKV_DAV Verzeichnisse" 'Ergebnis wird in LOG-Datei geschrieben.
Call Trace (3, "@", Zeile) 'Prozedur "WriteLog" wird aufgerufen
Zeile = "Keine PKV_DAV Verzeichnisse vorhanden." 'Ergebnis wird in LOG-Datei geschrieben.
Call Trace (3, "-", Zeile) 'Prozedur "WriteLog" wird aufgerufen
End If
我的计划是,如果空Else
,脚本会跳转到qry_pkv
语句。
答案 0 :(得分:1)
由于@SearchAndResQ指出qry_pkv
是您的查询字符串,因此它不太可能是Null
。请检查记录集中的光标位置:
If Not rs.EOF Then
...
Else
...
End If
答案 1 :(得分:0)
Null
与Empty
不同,与""
(空字符串)不同。比较var <> Null
甚至不起作用。
IsNull
检查Null
值。IsEmpty
检查Empty
值(主要是未初始化的变量)。与空字符串进行比较还会涵盖Empty
值,因此,如果要区分Empty
和""
,则需要在测试空字符串之前测试Empty
值。在你的情况下,你可能想要这样的东西:
If qry_pkv <> "" Then
...
Else
...
End If
答案 2 :(得分:0)
检查字符串的长度。如果它是&lt; = 0,那么你没有想要的大量内容:
If len(qry_pkv) <= 0 Then
'//...the rest of your code
else
'//...the else
end if
仅供参考,我的习惯是使用三个字符'//作为我的vbscript评论,因为我的眼睛跳过了'单独。
有关Len()函数的更多信息,请参阅https://msdn.microsoft.com/en-us/library/42byt104(v=vs.84).aspx。