PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV 25 → WX - Função Básica mas muito útil pra quem trabalha com SQL: ReplaceNull
WX - Função Básica mas muito útil pra quem trabalha com SQL: ReplaceNull
Débuté par adrianoboller, 10 juil. 2015 18:06 - 6 réponses
Membre enregistré
3 651 messages
Popularité : +175 (223 votes)
Posté le 10 juillet 2015 - 18:06
Procedure ReplaceNull(Texto, Busca, Troca)

IF Troca <> ""
Texto = Replace(Texto, Busca, Troca)
ELSE
IF PositionOccurrence(Texto,"'"+ Busca +"'",firstRank,FromBeginning) > 0
Texto = Replace(Texto,"'"+ Busca +"'","null")
ELSE
Texto = Replace(Texto,Busca,"null")
END
END

RESULT(Texto)
Membre enregistré
3 651 messages
Popularité : +175 (223 votes)
Posté le 10 juillet 2015 - 18:07
Uso:

SQLExecuta = ReplaceNull(SQLExecuta,"@pCodigoCliente@",CodCliente)
Membre enregistré
3 651 messages
Popularité : +175 (223 votes)
Posté le 10 juillet 2015 - 18:09
Ou usar o se vazio Empty do entry como Null
Membre enregistré
3 651 messages
Popularité : +175 (223 votes)
Posté le 20 juillet 2015 - 18:54
Procedure ReplaceNull(Texto, Busca, Troca)

IF Texto <> "" AND Busca <> ""
IF Troca <> "" AND PositionOccurrence(Texto,"'"+ Busca +"'",firstRank,FromBeginning) > 0
Texto = Replace(Texto, "'"+ Busca +"'", Troca)
ELSE IF Troca <> "" AND PositionOccurrence(Texto, Busca, firstRank,FromBeginning) > 0
Texto = Replace(Texto, Busca, Troca)
ELSE IF Troca = "" AND PositionOccurrence(Texto,"'"+ Busca +"'",firstRank,FromBeginning) > 0
Texto = Replace(Texto,"'"+ Busca +"'","null")
ELSE IF Troca = "" AND PositionOccurrence(Texto, Busca, firstRank,FromBeginning) > 0
Texto = Replace(Texto,Busca,"null")
END
END

RESULT(Texto)
Posté le 30 juillet 2015 - 13:22
Adriano no SQL Server basta usar

ISNULL(Atributo, ValorCasoNulo)
Membre enregistré
3 651 messages
Popularité : +175 (223 votes)
Posté le 15 août 2015 - 18:40
:merci:
Membre enregistré
3 651 messages
Popularité : +175 (223 votes)
Posté le 15 août 2015 - 18:44
//No caso de uso do comando HExecuteQuery na passagem dos paramentos precise enviar um comando Nulo e não vazio "":

VariavelNula is Variant = Null

ok is boolean = HExecuteQuery(QYR_Clientes,hQueryDefault, "Adriano Boller", "6348864", VariavelNula)
IF ok = True
Info("OK")
ELSE
Error(ErrorInfo( ))
END