Les Isfonctions (également appelées fonctions d'information sur les données [ , fonctions d'inspection des données ou fonctions de test des données ) sont un ensemble de fonctions de Microsoft Visual Basic 6 , Visual Basic pour Applications , VBScript et Visual Basic .NET . Plusieurs d'entre elles sont également fournies dans Transact-SQL par le fournisseur de données .NET Framework pour Microsoft SQL Server .
À quoi servent les fonctions
Les fonctions sont des fonctions simples de validation de données et de vérification de type de données. Les fonctions de validation de données déterminent s'il est possible de convertir ou de contraindre la valeur de données donnée en argument à la fonction au type impliqué par le nom de la fonction, et renvoient une Booleanvaleur indiquant si cela était possible ou non. (Notez que les fonctions de conversion de données réelles, telles que Oct()lèvent des exceptions si la conversion n'est pas possible. Les fonctions de validation permettent de tester si une conversion échouerait et de modifier le flux de contrôle du programme dans une instruction if .) Trueindique que la conversion serait possible, Falseindique qu'elle ne le serait pas. De même, les fonctions de vérification de type renvoient un Booleanenregistrement indiquant si l'expression d'argument est d'un type particulier.
Dans Transact-SQL, les fonctions renvoient zéro ou un plutôt que Booleandes valeurs Trueet False.
IsArray(name)- Cette fonction détermine si le nom de la variable passée en argument est un tableau. Notez que les tableaux non initialisés seront renvoyés
Falsepar cette fonction dans Visual Basic .NET. Dans Visual Basic 6, les tableaux ne sont pas des types référence et un tableau non initialisé sera renvoyéTruepar cette fonction comme un tableau initialisé. IsDate(expression)- Cette fonction détermine si l'expression passée en argument peut être convertie en une variable de type
Date, ou est déjà de typeDate. Les variables non initialisées de typeDatepeuvent bien sûr être converties, même si elles ne sont pas initialisées, donc cette fonction renverra toujoursTruepour ces variables. Notez que les chaînes qui contiennent un jour de la semaine en plus d'une date (par exemple"Sat, October 12, 2010") renverront un résultat d'échec. Dans VBScript et Visual Basic .NET, le processus de conversion utilise les paramètres régionaux de Microsoft Windows, ce qui signifie que ce qui peut être analysé comme une date sur un système, configuré pour utiliser un paramètre régional, peut ne pas être analysé comme une date sur un autre système, configuré pour utiliser un paramètre régional différent. IsDBNull(expression)- Cette fonction détermine si l'expression passée en argument est évaluée à
System.DBNull.Value.IsNull()Ceci est équivalent à la fonction de Visual Basic 6. Notez qu'il n'est pas possible de comparer directement une expression pour l'égalité àSystem.DBNull, car toute expression de la formex = DbNullsera évaluée àDbNullsimplement parce qu'elle contient une valeur null.IsDBNull()est le seul moyen de tester l'égalité àSystem.DBNull. IsEmpty(expression)- Cette fonction détermine si l'expression passée en argument est une variante non initialisée. Notez qu'une variante non initialisée est distincte d'une variante qui a été initialisée pour contenir
Null. Bien que la fonction prenne une expression, plutôt qu'un simple nom de variable, toute expression qui n'est pas simplement un nom de variable est considérée comme n'étant pas une variante non initialisée. Cette fonction était disponible dans Visual Basic 6, mais a été remplacée dans Visual Basic .NET par laIsNothing()fonction. Dans VBScript, si une variante est affectéeNothing, cette fonction renvoie toujoursFalse. IsError(expression)- Cette fonction, dans Visual Basic .NET, détermine si l'expression passée en argument est un objet d'exception, c'est-à-dire un objet de la
System.Exceptionclasse ou d'une de ses sous-classes. Dans Visual Basic 6, la fonction teste si l'expression est une variante avec levbErrorsous-type spécial. IsMissing(name)- Cette fonction détermine si le nom de variable passé en argument est un argument facultatif qui n'a pas été passé à une fonction par son appelant. Elle renvoie
Trueuniquement si la variable est une variante qui n'a pas été initialisée. Cette fonction n'existe que dans Visual Basic 6. Dans Visual Basic .NET, les paramètres facultatifs doivent avoir des initialiseurs par défaut et la fonction n'existe plus. IsNothing(expression)- Cette fonction détermine si l'expression passée en argument est évaluée à
Nothing. Il s'agit d'une fonction de bibliothèque simple (comprenant seulement 4 instructions CIL ) qui peut elle-même être écrite en Visual Basic comme :L'effet de ceci est de renvoyerFonction partagée publique IsNothing ( expression ByVal en tant qu'objet ) en tant que retour booléen ( expression n'est rien ) Fin de la fonction
Falsetoutes les expressions de valeur (non référencées), car elles seront encapsulées, dans le cadre de l'appel de fonction, dans des objets, qui, de par leur nature même, ne seront pas des objets nuls. Pour éviter ce comportement, on peut utiliser l'ISopérateur pour comparer un objet directement àNothing, en écrivantexpressionIS Nothingplutôt qu'en . Le compilateur génèrera une erreur de compilation si l'expression comparée est une valeur plutôt qu'un type de référence, en détectant l'incompatibilité de type au moment de la compilation plutôt qu'en la renvoyant simplement au moment de l'exécution. Les chaînes sont des types de référence dans Visual Basic .NET, et peuvent donc être nulles (par opposition aux simples chaînes vides de longueur nulle). Pour de telles chaînes, cette fonction renvoie . (Pour les chaînes vides, elle renvoie .)IsNothing(expression)FalseTrueFalse IsNull(expression)- Cette fonction détermine si l'expression passée en argument est évaluée à
Null. Une valeur nulle dans une sous-expression de l'expression entraîne la prise en compte de la valeur nulle dans l'ensemble de l'expression. IsNull(expression1,expression2)- Cette fonction, prenant deux arguments, est spécifique à Transact-SQL. Contrairement à la fonction Visual Basic du même nom, elle ne renvoie pas de
Boolean, mais renvoie à la place la première expression si ce n'est pasNULL, sinon la seconde expression. Le but de la fonction est de remplacer touteNULLvaleur par une autre valeur, vraisemblablement (mais pas obligatoirement) nonNULL. Il s'agit d'une version à deux arguments deCOALESCE(). IsNumeric(expression)- Cette fonction détermine si l'expression passée en argument peut être convertie en nombre (que ce soit
Short,Integer,Long,Single,DoubleouDecimal) à partir d'un caractère ou d'une chaîne, ou est déjà un nombre. Dans Transact-SQL, les chaînes peuvent être converties en nombres même si elles contiennent des caractères que l'on ne s'attend pas à trouver dans les nombres. En effet, Transact-SQL permet la conversion des typesmoneyetsmallmoneyen nombres, et les données monétaires sous forme de chaîne peuvent contenir des caractères indicateurs de devise tels que les symboles '£' ou ' '. Il en va de même pour VBScript, où toute chaîne pouvant être convertie en valeur monétaire dans les paramètres régionaux actuels est considérée comme numérique. VBScript ne considère cependant pas les dates et les heures comme numériques.$ IsObject(expression)- Cette fonction détermine si l'expression passée en argument est un objet plutôt qu'une valeur. Ceci est équivalent à
IsReference()la fonction de Visual Basic .NET. IsReference(expression)- Cette fonction détermine si l'expression passée en argument est une référence plutôt qu'une valeur.
IsObject()Ceci est équivalent à la fonction de Visual Basic 6.
Qu'est-ce qui soutient quoi
Sources utilisées
- Harris, Matthew (1999). Sams, apprenez vous-même la programmation Microsoft Excel 2000 en 21 jours . Série Sams Teach Yourself. Sams. ISBN 978-0-672-31543-5.
- Israël, Marc ; Jones, J. Steven (2001). MCSE : Guide d'étude de conception de SQL Server 2000. Série de guides d'étude de certification. John Wiley and Sons. ISBN 978-0-7821-2942-7.
- Knittel, Brian (2002). « Référence VBScript ». Windows XP sous le capot . Éditions Que. ISBN 978-0-7897-2733-6.
- Lomax, Paul; Childs, Matt; Petrusha, Ronald (2003). VBScript en bref. En bref (2e éd.). O'Reilly Media, Inc. ISBN 978-0-596-00488-0.
- Marcus, William; Levy, Alex (2002). Programmation en Visual Basic 6. Tata McGraw-Hill. ISBN 978-0-07-040290-4.
- Perry, Greg M.; Hettihewa, Sanjaya (1998). Sams teach yourself Visual Basic 6 in 24 hours . Série Teach Yourself in 24 Hours (2e éd.). Éditions Sams. ISBN 978-0-672-31533-6.
- Petroutsos, Evangelos (2002). Maîtriser Visual Basic.NET. Série Mastering. John Wiley and Sons. ISBN 978-0-7821-2877-2.
- Petrosha, Ronald (2006). Visual Basic 2005 : la référence complète. McGraw-Hill Professional. ISBN 978-0-07-226033-5.
- Price, Jason (2003). Maîtriser la programmation de bases de données en C# . John Wiley and Sons. ISBN 978-0-7821-4183-2.
- Roman, Steven ; Petrusha, Ron ; Lomax, Paul (2002a). Référence de poche sur le langage VB.NET . O'Reilly Media, Inc. ISBN 978-0-596-00428-6.
- Romain, Steven ; Petrosha, Ron ; Lomax, Paul (2002b). Le langage VB.NET en un mot . En un mot (2e éd.). O'Reilly Media, Inc.ISBN 978-0-596-00308-1.
- Steele, Patrick (31/05/2005). « IsNothing ? Certainement ! ». Blog .NET de Patrick Steele .
- Steele, Patrick (2005-06-03). « Éviter IsNothing() ». Blog .NET de Patrick Steele .
- Wakefield, Cameron; Sonder, Henk-Evert (2001). Lee, Wei Meng (éd.). Guide du développeur Web VB.net . Syngrès. ISBN 978-1-928994-48-0.
- « ISNUMERIC (Transact-SQL) ». MSDN : SQL Server 2008 : Référence Transact-SQL . Microsoft . 23 mai 2023.
Lectures complémentaires
Documentation en ligne de Microsoft
- « Méthode IsArray ». MSDN : Bibliothèque de classes .NET Framework :
Microsoft.VisualBasicespace de noms . Microsoft . - « Méthode IsDate ». MSDN : Bibliothèque de classes .NET Framework :
Microsoft.VisualBasicespace de noms . Microsoft . - « Méthode IsDBNull ». MSDN : Bibliothèque de classes .NET Framework :
Microsoft.VisualBasicespace de noms . Microsoft . - « Méthode IsError ». MSDN : Bibliothèque de classes .NET Framework :
Microsoft.VisualBasicespace de noms . Microsoft . - « Méthode IsNothing ». MSDN : Bibliothèque de classes .NET Framework :
Microsoft.VisualBasicespace de noms . Microsoft . - « Méthode IsNumeric ». MSDN : Bibliothèque de classes .NET Framework :
Microsoft.VisualBasicespace de noms . Microsoft . - « Méthode IsReference ». MSDN : Bibliothèque de classes .NET Framework :
Microsoft.VisualBasicespace de noms . Microsoft .