Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

fabianebortolotto

[Resolvido] session no insert

Recommended Posts

tenho um insert e quando o executo dá o seguinte erro:

 

Server: Msg 128, Level 15, State 1, Line 1

The name '&session(' is not permitted in this context. Only constants, expressions, or variables allowed here. Column names are not permitted.

 

estou fazendo o session da seguinte forma:

 

("&session("area_construida")&", "&session("area_privada")&", .....)

 

é errado desse jeito? como eu poderia fazer?

 

obrigada!

Compartilhar este post


Link para o post
Compartilhar em outros sites
insert into imoveis (i_empresa,i_imovel,i_construtora, i_edificio, i_tipo, referencia, i_subtipo, i_bairro, i_cidade, endereco, no_dormitorio, no_box, i_forma, vl_cub, vl_real, destaque, publica, descricao, area_construida, area_privada,  i_usuario,dt_sistema) values ("&session("i_empresa")&","&id&","&session("i_construtora")&", "&session("i_edificio")&", "&session("i_tipo")&", "&session("referencia")&", "&session("i_subtipo")&", "&session("i_bairro")&", "&session("i_cidade")&", '"&session("endereco")&"', "&session("numero_quarto")&", "&session("numero_garagem")&", "&session("i_forma")&", "&session("vl_cub")&", "&session("vl_real")&", '"&session("lancamento")&"', '"&session("publica")&"', '"&session("descricao")&"', "&session("area_construida")&", "&session("area_privada")&","& Session("i_usuario") &", GETDATE())

Compartilhar este post


Link para o post
Compartilhar em outros sites

Utilize sempre as ASPAS SIMPLES antes das ASPAS DUPLAS...

 

Ex:

 

values ('"&session("i_empresa")&"',"&id&",'"&session("i_construtora")&"')

 

Abraços....

Compartilhar este post


Link para o post
Compartilhar em outros sites

não precisa necessariamente colocar nada no código, é só você configurar seus campos das colunas da tebela para aceitar valores nulos, ou seja, não obrigatório ter nada no campo, assim evita erros!

Compartilhar este post


Link para o post
Compartilhar em outros sites

eu estive olhando, e essas as informações que eu quero por null, na tabela ja foi colocado para receberem valor nulo. mas mesmo assim eu nao consigo inserir nada, por esse motivo queria saber o modo como é declarado no comando.

alguem pode me ajudar?

Compartilhar este post


Link para o post
Compartilhar em outros sites

não consegui inseri....

 

gera algum erro ou vai todos os campos nulos???

 

verificou se as sessions não estão expirando?

Compartilhar este post


Link para o post
Compartilhar em outros sites

dei um response.write e deu isso:

 

insert into imoveis (i_empresa, i_imovel, i_construtora, i_edificio, i_tipo, referencia, i_subtipo, i_bairro, i_cidade, endereco, no_dormitorio, no_box, i_forma, vl_cub, vl_real, destaque, publica, descricao, area_construida, area_privada, i_usuario,dt_sistema) values (1,'1', '1', '', '1', '1', '1', '', '', 'Rua João Pedro', '', '', '1', '', '', 'N', 'S', '', '', '', 4, GETDATE())

 

no campos que eu quero que seja null, fica daquele jeito, apenas com as '' (aspas simples)

 

só quero saber como que se coloca no codigo o null. se é entre aspas, como que é. só isso.

Compartilhar este post


Link para o post
Compartilhar em outros sites

está certo já, eles vão para o banco como vazio ou coloca zero, não há isso de null, isso já não ajuda não???

 

ainda não "assimilei" o que queres...

 

é isso?

if session("i_bairro") = "" then
session("i_bairro") = null
else
session("i_bairro") = "10"
end if

Compartilhar este post


Link para o post
Compartilhar em outros sites

é o seguinte.

esse é o meu código.

 

insert into imoveis (i_empresa, i_imovel, i_construtora, i_tipo, referencia, i_subtipo, i_bairro, i_cidade, endereco, no_dormitorio, no_box, i_forma, vl_cub, vl_real, destaque, publica, descricao, area_construida, area_privada, i_usuario, dt_sistema) values ("&session("i_empresa")&","&id&",'" & p_construtora & "','" & p_tipo & "','" & p_referencia & "','" & p_subtipo & "','" & p_bairro & "','" & p_cidade & "','" & p_endereco & "','" & p_numero_quarto & "','" & p_numero_garagem & "','" & p_forma & "','" & p_vl_cub & "','" & p_vl_real & "','" & p_lancamento & "','" & p_publica & "','" & p_descricao & "','" & p_area_construida & "','" & p_area_privada & "',"&session("i_usuario")&", GETDATE())

 

certo? mas tipo, eu não vou por o campo bairro por exemplo. então o que eu queria saber é o que eu colocaria no lugar de '" & p_bairro & "'. eu colocaria a palavra null, não sei se ta certo. se sim, como eu escrevo no codigo. se não, qual é o modo correto? é isso que eu quero saber.

Compartilhar este post


Link para o post
Compartilhar em outros sites

então a melhor forma é essa que postei, faz as condições em todas as sessions, ou deixa em branco

 

if session("i_bairro") = "" then
session("i_bairro") = null
else
session("i_bairro") = "10"
end if

se você deixar em branco o banco vai reconhecer como se tiversse algum caracter se você colocar o cidog que citei para todas as variaveis, ele vai identificar como NULL e não irá contar como caracter, agora esse NULL nó testei no SQL SERVER, outros bancos nunca tive a oportunidade, tem que ver ai!!!!

 

entendeu?

Compartilhar este post


Link para o post
Compartilhar em outros sites

bom Ted K', estou tentando da seguinte forma. Eu mantenho as variaveis que eu quero que sejam nulas no insert. Porem há em um determinado ponto do programa que eu declaro essas variaveis, e lá eu estou colocando que elas são nulas. O meu insert hoje é esse:

"insert into imoveis (i_empresa, i_imovel, i_construtora, i_tipo, referencia, i_subtipo, i_bairro, i_cidade, endereco, no_dormitorio, no_box, i_forma, vl_cub, vl_real, destaque, publica, descricao, area_construida, area_privada, i_usuario, dt_sistema) values ("&session("i_empresa")&","&id&",'" & p_construtora & "','" & p_tipo & "','" & p_referencia & "','" & p_subtipo & "','" & p_bairro & "','" & p_cidade & "','" & p_endereco & "','" & p_numero_quarto & "','" & p_numero_garagem & "','" & p_forma & "','" & p_vl_cub & "','" & p_vl_real & "','" & p_lancamento & "','" & p_publica & "','" & p_descricao & "','" & p_area_construida & "','" & p_area_privada & "', "&session("i_usuario")&", GETDATE())"

 

Eu faço um response.write e o que aparace é isso:

 

insert into imoveis (i_empresa, i_imovel, i_construtora, i_tipo, referencia, i_subtipo, i_bairro, i_cidade, endereco, no_dormitorio, no_box, i_forma, vl_cub, vl_real, destaque, publica, descricao, area_construida, area_privada, i_usuario, dt_sistema) values (104,1,'1','1','1','1','null','null','Rua João Pedro','null','null','1','null','null','S','S','Caminhão Toco Canto Quadrados','0','0', 4, GETDATE())

Mas tirando o response.write, dá um erro, que é esse:

 

Tipo de erro:

Microsoft OLE DB Provider for ODBC Drivers (0x80040E07)

[Microsoft][ODBC SQL Server Driver]

Error converting data type varchar to numeric.

 

 

Pode me ajudar a solucionar? Obrigada!

Compartilhar este post


Link para o post
Compartilhar em outros sites

você deve ter algum campo float ai, se tiver você vai ter que retirar esse null e deixar ele ir com valor zero!

Compartilhar este post


Link para o post
Compartilhar em outros sites

então simplismente no lugar de null e ponho zero?

é isso?

 

Ted k', muito obrigada.

Coloquei como zero todos os campos que eu queria nulo, e agora ele já está inserindo normalmente. Obrigada, o problema foi resolvido!

 

Abraço

Compartilhar este post


Link para o post
Compartilhar em outros sites

mais eu já tinha postado isso (hehehe)

 

está certo já, eles vão para o banco como vazio ou coloca zero se quizer, não há isso de null, isso já não ajuda não???

 

ainda não "assimilei" o que queres...

 

é isso?

if session("i_bairro") = "" then
session("i_bairro") = null
else
session("i_bairro") = "10"
end if

Compartilhar este post


Link para o post
Compartilhar em outros sites

sim, eu sei que você tinha postado isso. mas o que eu fiz foi o seguinte

 

exemplo.

 

p_forma = replace(request.form("i_forma"),"'","")

p_area_construida = "0"

 

eu declarava as variaveis. a variavel que eu queria eu deixava ela normal, a que eu queria que fosse nula apenas coloquei zero.

ok? :D

Compartilhar este post


Link para o post
Compartilhar em outros sites

certo mais faça a condição caso ela seja preenchida

 

p_forma = replace(request.form("i_forma"),"'","")
If Trim(p_forma) <> "" Then
p_forma_final = p_forma
else
p_forma_final = "0"
end if

o trim vai servir para evitar com que o cara coloque espaços e entre...

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.