Sintaxis para expresiones OR en Visual Basic.
No conozco Visual Basic tanto como conozco C++ o C#.
Voy a comprobar si una consulta select devuelve resultados en el ‘testDataset’ y tiene algunos resultados, así que he escrito la siguiente sintaxis:
Si ((testDataset es nada) o (testDataset.Tablas es nada) o testDataset.Tablas.Count = 0 _
o (testDataset.Tablas.Elemento(0).Filas es nada) o (testDataset.Tablas.Elemento(0).Filas.Count = 0) _
o (testDataset.Tablas.Elemento(0).Filas(0) es nada)) entonces
MessageBox.Show(“¡El conjunto de datos no tiene resultados!”, “Error de consulta de base de datos”, MessageBoxButtons.OK, MessageBoxIcon.Error)
retornar falso
Fin Si
En C++ cuando una expresión dentro del OR lógico es verdadera la siguiente expresión no será procesada. Pero parece que este no es el caso en Visual Basic. Así que quiero saber cómo puedo comprobar varias expresiones en Visual Basic y detener el procesamiento de las siguientes si una se cumple.
Por lo tanto, mi pregunta puede ser formulada como dos preguntas:
- ¿Cómo puedo comprobar varias condiciones utilizando OR sin procesar las siguientes?
- ¿Cómo puedo comprobar si el conjunto de datos tiene resultados (al menos una fila) y una columna específica está presente en esa (al menos una) fila?
davy.ai
Si (testDataset es Nothing) OrElse (testDataset.Tables Is Nothing) OrElse testDataset.Tables.Count = 0 _
OrElse (testDataset.Tables.Item(0).Rows Is Nothing) OrElse (testDataset.Tables.Item(0).Rows.Count = 0) _
OrElse (testDataset.Tables.Item(0).Rows(0) Is Nothing) Then
MessageBox.Show(“¡El conjunto de datos no tiene resultados!”, “Error de consulta de base de datos”, MessageBoxButtons.OK, MessageBoxIcon.Error)
Return False
FinSi
Si (Not testDataset Is Nothing) AndAlso (testDataset.Tables.Count > 0) AndAlso _
(Not testDataset.Tables(0) Is Nothing) AndAlso (testDataset.Tables(0).Rows.Count > 0) AndAlso _
(testDataset.Tables(0).Columns.Contains(“nombreColumna”)) AndAlso _
(Not testDataset.Tables(0).Rows.Item(0).IsNull(“nombreColumna”)) Then
‘Los resultados están presentes y la columna especificada tiene un valor en la primera fila.
De lo contrario
‘Los resultados no están presentes o la columna especificada no está presente o tiene un valor nulo en la primera fila.
FinSi
Este código comprueba si el conjunto de datos no es nulo, tiene al menos una tabla, esa tabla no es nula, tiene al menos una fila y contiene una columna con el nombre especificado. Luego comprueba si el valor de esa columna en la primera fila no es nulo. Si todas estas condiciones son verdaderas, puedes asumir que el conjunto de datos tiene al menos un resultado con la columna especificada teniendo un valor en la primera fila.