Página 1 de 1
Passar valor nulo para função
#1
Postou 05 junho 2008 - 11:45
Olá,
A função abaixo funciona:
<%
function teste(a)
response.write "<h1>OK<h1>"
end function
teste(a)
%>
Porém essa não:
<%
function teste(a)
response.write "<h1>OK<h1>"
end function
teste()
%>
Gostaria de saber como contornar a função para aceitar a chamada sem passar a variável pois senão terei que alterar 50 chamadas para essa função. Gostaria de poder chamar sem passar o parâmetro (teste()) e não da erro. Como é possível?
A função abaixo funciona:
<%
function teste(a)
response.write "<h1>OK<h1>"
end function
teste(a)
%>
Porém essa não:
<%
function teste(a)
response.write "<h1>OK<h1>"
end function
teste()
%>
Gostaria de saber como contornar a função para aceitar a chamada sem passar a variável pois senão terei que alterar 50 chamadas para essa função. Gostaria de poder chamar sem passar o parâmetro (teste()) e não da erro. Como é possível?
#7
Postou 05 junho 2008 - 21:17
Não expliquei direito...
Eu tenho uma função que é chamada em 39 páginas diferentes e em vários lugares de cada página.
A chamada é assim: teste()
Portanto eu não quero ter que alterar essa chamada em todas essas páginas. Gostaria que a chamada permanecesse assim: teste()
No entanto gostaria de alterar em um único lugar. Na função.
A função atuamente não recebe nenhum parâmetro e passará a receber 1
Por isso eu acrescentei o parâmetro na função e mantive a chamada semm passar nehum parâmetro.
Mas dá o erro e gostaria de saber se existe alguma solução de contorno para isso.
Em SQL isso é possível.
Por exemplo, uma procedure que espera dois parâmetros funciona da mesma forma que uma função ASP e dá o erro da mesma forma quando somente um é passado.
Create procedure proc_teste()
@param1 varchar(2),
@param2 varchar(30)
as
select * from tbl_teste where teste = @param1
exec proc_teste 'RJ'
como solução de contorno é usado o null na função e todas as chamadas permanecem da mesma forma.
Create procedure proc_teste()
@param1 varchar(2)=null,
@param2 varchar(30)=null
as
select * from tbl_teste where teste = @param1
exec proc_teste 'RJ'
Só que em ASP não funciona o null. Funciona de outra forma?
<%
function teste(a=null)
response.write "<h1>OK<h1>"
end function
teste()
%>
Eu tenho uma função que é chamada em 39 páginas diferentes e em vários lugares de cada página.
A chamada é assim: teste()
Portanto eu não quero ter que alterar essa chamada em todas essas páginas. Gostaria que a chamada permanecesse assim: teste()
No entanto gostaria de alterar em um único lugar. Na função.
A função atuamente não recebe nenhum parâmetro e passará a receber 1
Por isso eu acrescentei o parâmetro na função e mantive a chamada semm passar nehum parâmetro.
Mas dá o erro e gostaria de saber se existe alguma solução de contorno para isso.
Em SQL isso é possível.
Por exemplo, uma procedure que espera dois parâmetros funciona da mesma forma que uma função ASP e dá o erro da mesma forma quando somente um é passado.
Create procedure proc_teste()
@param1 varchar(2),
@param2 varchar(30)
as
select * from tbl_teste where teste = @param1
exec proc_teste 'RJ'
como solução de contorno é usado o null na função e todas as chamadas permanecem da mesma forma.
Create procedure proc_teste()
@param1 varchar(2)=null,
@param2 varchar(30)=null
as
select * from tbl_teste where teste = @param1
exec proc_teste 'RJ'
Só que em ASP não funciona o null. Funciona de outra forma?
<%
function teste(a=null)
response.write "<h1>OK<h1>"
end function
teste()
%>
#8
Postou 06 junho 2008 - 08:21
function teste(a=null)
^
isso não existe no asp
recomendo que você crie outra função com outro nome e coloque o parâmetro que necessita ou se quer manter apenas uma função terá que modificar o que já existe adicionando um valor vazio ou nulo e nas novas chamadas coloque o valor quando necessário
na chamada da função pode fazer isso
teste(""&variavel)
ou seja, se tiver algum valor na variavel esse valor entra na função, se não tiver já vai estar com o parametro vazio concatenado
^
isso não existe no asp
recomendo que você crie outra função com outro nome e coloque o parâmetro que necessita ou se quer manter apenas uma função terá que modificar o que já existe adicionando um valor vazio ou nulo e nas novas chamadas coloque o valor quando necessário
na chamada da função pode fazer isso
teste(""&variavel)
ou seja, se tiver algum valor na variavel esse valor entra na função, se não tiver já vai estar com o parametro vazio concatenado
Página 1 de 1


Entrar
Cadastre-se
Ajuda

Quote




