Was ist der Unterschied zwischen "Null" und "Nichts" in VB6?
Ich habe ein recordset, wie diese:
Dim rs as Recordset
Set rs as New Recordset
'... a lot of coding ...
if Err.Number <> 0 Then ' oops, something gone wrong!
If rs.State <> adStateClosed Then rs.Close
Set rs = Nothing
end if
' I want to evaluate if rs is Nothing, or Null
if rs is Nothing then
' this doesn't throw errors, and works well :D
end if
if rs is Null then
' this throws an error of "types not compatible"
end if
if rs = Null then
' this throws an error of "types not compatible"
end if
if isNull(rs) then
' never enters here, isNull(rs) evaluates to False
end if
Fand ich heraus, dass in VB6 habe ich selten verwenden Sie "Null" (ich habe es für die Bewertung der leere schema-Namen), aber ich benutze "Nichts" für Sachen wie Bilder, adodb.verbindungen oder recordsets. Für strings habe ich vbNullString. Ich habe gelesen es ist ein Zeiger auf einen null-string.
Ist "Null" wie eine "unbekannte variable "Wert" und "Nichts" eine echte null-Wert?
InformationsquelleAutor Broken_Window | 2014-04-24
Du musst angemeldet sein, um einen Kommentar abzugeben.
Null ist ein spezieller Untertyp von Variant. Es hat keine Existenz außerhalb des Variant-Typs, und ist geschaffen, um zu erlauben, eine Variante zum Modell eines Datenbank-null-Wertes.
Nichts ist ein Wert, der ein Objekt variable. Es ist im wesentlichen identisch mit einem null-Zeiger ist, d.h. es ist kein Objekt.
Den folgenden wirft einen Fehler, da "Ist" können nur verwendet werden, mit Objekt-Variablen:
Den folgenden wirft einen Fehler, da ein Objekt-variable kann niemals Null sein:
Den folgenden Falsch, weil IsNull() wird eine Variante argument.
Es ist äquivalent zu:
Empty
, eine andere Variante Wert.... was im wesentlichen bedeutet "uninitialised".
InformationsquelleAutor Mark Bertenshaw
Die folgende Tabelle erläutert, wie Sie mithilfe von VBScript-Schlüsselwörter.
Keywords
Schlüsselwort Beschreibung
Leer
Die Empty-Schlüsselwort verwendet, um anzugeben, eine nicht initialisierte variable Wert. Dies ist nicht dasselbe wie Null.
False
Die Falschen keyword einen Wert gleich 0.
Nichts
Das Nothing-Schlüsselwort in VBScript verwendet wird, zu distanzieren, eine object-variable von jedem realen Objekt. Mit der Set-Anweisung zuweisen, Nichts, um eine object-variable. Zum Beispiel:
Set MyObject = Nothing
Mehrere Objekt-Variablen verweisen auf das gleiche Objekt. Wenn Nichts zugewiesen ist, eine object-variable, die variable bezieht sich längst nicht mehr auf tatsächliche Objekt. Wenn mehrere Objekt-Variablen auf das gleiche Objekt beziehen, den Arbeitsspeicher und die Systemressourcen im Zusammenhang mit dem Objekt, auf das die Variablen verweisen, sind erst freigegeben, nachdem alle von Ihnen wurden auf Nothing festgelegt, die entweder explizit Festgelegt oder implizit nach dem letzten Objekt-variable Nothing goes out of scope.
Null
Das Null-Schlüsselwort verwendet, um anzugeben, dass eine variable enthält keine gültigen Daten. Dies ist nicht das gleiche wie Leere.
Wahr
Die Echten keyword einen Wert gleich -1.
InformationsquelleAutor tony bd