Hola,
La propiedad
Active del dataset no te indica si la consulta obtuvo resultados. Para eso, puedes usar el método
isEmpty
Aunque, como en el ejemplo que presentas estas haciendo un INSERT y un DELETE, debes cambiar el
Open por
ExecSQL ya que el Open se usa cuando vas a obtener un resultado de la consulta.
Y volviendo al primer punto, luego del ExecSQL, el dataset estará vacío ya que no tiene resultados. Para eso puedes usar la propiedad
RowsAffected
Por último, esta recomendación puede serte válida para la construccion de DLL's
Cita:
Empezado por Rudy Velthuis
Fuente: DLL dos and don’ts
Booleanos
Los booleanos son un poco complicados. En algunos lenguajes, todo lo que no sea 0 se considera verdadero, mientras que en otros, los valores booleanos están restringidos a los valores ordinales 0 y 1 solamente (y en algunos a 0 y -1).
Para manejar esto, debe devolver un valor definido (como el tipo HRESULT definido por Microsoft) en lugar de un valor booleano, o utilizar un LongBool. Este último es el equivalente de Delphi de un entero booleano, es decir, 0 (cero) se trata como Falso y cualquier otro valor como Verdadero.
|