Ir para conteúdo

POWERED BY:

Arquivado

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

P0nt0

valor null

Recommended Posts

Existem duas formas de atualiza e inserir na base, atraves do método EXECUTE da conexão que você está utilizando, ou criando um RecordSet com os dados que você quer atualizar.Aí você atribui os valores das variáveis para os campos do RecordSet em modo de edição chama o método UPDATE ou INSERT.OK..!!?? T+...

a tah, vlw...nunca vi desse jeito..mas tem alguma vantagem? sei lah..tipo desempenho?..ou fica mais organizado ??

Compartilhar este post


Link para o post
Compartilhar em outros sites

Camarada,

 

Não entendi pq pelo EXECUTE não deu para passar null. No exemplo:

SET DATEFORMAT YMDDECLARE @TMP TABLE(NASCIMENTO DATETIME)INSERT INTO @TMP(NASCIMENTO) VALUES ('')INSERT INTO @TMP(NASCIMENTO) VALUES (' ')INSERT INTO @TMP(NASCIMENTO) VALUES (NULL)INSERT INTO @TMP(NASCIMENTO) VALUES ('2007/01/27')INSERT INTO @TMP(NASCIMENTO) VALUES ('2007/01/05')SELECT * FROM @TMP

Consegui grava NULL sem problemas.

 

O campo esta aceitando NULL?

 

t+

Compartilhar este post


Link para o post
Compartilhar em outros sites

você pode fazer outra coisa

 

if data_fim <> "" thendata = "data_fim='"&data_fim&"',"end ifsql_update = "UPDATE Estagio set cpf_aluno ='"&int_cpf&"',data_inicio='"&data_inicio&"',"&_	data&"ch_cumprida='"&int_ch_cumprida&"',"&_	"local='"&str_local&"',cidade='"&str_cidade&"',data_estimativa_conclusao='"&data_estimativa_conclusao&"'"&_	"WHERE (cpf_aluno ='"&int_cpf&"') AND (data_inicio ='"&data_inicio&"')"

Compartilhar este post


Link para o post
Compartilhar em outros sites

Camarada,Não entendi pq pelo EXECUTE não deu para passar null. No exemplo:

SET DATEFORMAT YMDDECLARE @TMP TABLE(NASCIMENTO DATETIME)INSERT INTO @TMP(NASCIMENTO) VALUES ('')INSERT INTO @TMP(NASCIMENTO) VALUES (' ')INSERT INTO @TMP(NASCIMENTO) VALUES (NULL)INSERT INTO @TMP(NASCIMENTO) VALUES ('2007/01/27')INSERT INTO @TMP(NASCIMENTO) VALUES ('2007/01/05')SELECT * FROM @TMP
Consegui grava NULL sem problemas.O campo esta aceitando NULL?t+
esta sim, pq eu inseri null direto no bd e deu certo..inseri com um insert e executei dentro do proprio ms sql server...e os campos q eu não defini um valor ficaram null...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Em relação aos métodos de inserção, eles organizam e deixam as alterações mais flexíveis.Dessa forma você não precisa ficar concatenando STRING's no seu código para montar um comando SQL de INSERT/UPDATE.

Compartilhar este post


Link para o post
Compartilhar em outros sites

você pode fazer outra coisa

if data_fim <> "" thendata = "data_fim='"&data_fim&"',"end ifsql_update = "UPDATE Estagio set cpf_aluno ='"&int_cpf&"',data_inicio='"&data_inicio&"',"&_	data&"ch_cumprida='"&int_ch_cumprida&"',"&_	"local='"&str_local&"',cidade='"&str_cidade&"',data_estimativa_conclusao='"&data_estimativa_conclusao&"'"&_	"WHERE (cpf_aluno ='"&int_cpf&"') AND (data_inicio ='"&data_inicio&"')"
deu certo não, continua na mesma...será q não é alguma opção do bd?? ele aceita null..mas sei lah...num devi ser outra coisa não? pq não sei mexer direito nele..

Compartilhar este post


Link para o post
Compartilhar em outros sites

por acaso você printou a variavel data_fim só pra ver o valor que está sendo enviado pro Update?se você fez o INSERT o código não irá funcionar, a menos que você modifique a string

Compartilhar este post


Link para o post
Compartilhar em outros sites

por acaso você printou a variavel data_fim só pra ver o valor que está sendo enviado pro Update?se você fez o INSERT o código não irá funcionar, a menos que você modifique a string

eu testei os 2...e os 2 estaum inserindo 1/1/1900...quando envia a variavel ta vazia...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Camarada,

 

Tente assim:

txtData = ""txtCod = 1If txtData = "" Then	sAux = "Null"end ifsSql = "update sua_tabela set campo_data = " & sAux & ", Cod = " & txtCod Response.Write sSqlResponse.End

Como pode ser visto o NULL vem entre "" ("NULL") e depois no SQL ele vai sem os plic´s. Não tive como testar mas o SQL ficou asism:

update sua_tabela set campo_data = Null, Cod = 1

Caso você possa faça este teste.

 

t+

Compartilhar este post


Link para o post
Compartilhar em outros sites

Camarada,Tente assim:

txtData = ""txtCod = 1If txtData = "" Then	sAux = "Null"end ifsSql = "update sua_tabela set campo_data = " & sAux & ", Cod = " & txtCod Response.Write sSqlResponse.End
Com poser esr visto o NULL vem entre "" ("NULL") e depois no SQL ele vai sem o plic´s. Não tive com testar mas o SQL ficou asism:
update sua_tabela set campo_data = Null, Cod = 1
Caso você possa faça este teste.t+
vlw jothaz deu certo sim kra hehe..dei moli... nem reparei nas ' ' ...muito obrigado a você e a todos os outros q me ajudaram aqui, se eu fosse um pokim mais experto ja tinha resolvido logo nos primeiros conselhos huaauha...mas deu certo e aprendi um pouco mais hoje é isso q ta valendo ... vlw a todos ai.. abraço!!!!kra é inacreditavel huauhauha ... agora quando digito a data certa aparece 1/1/1900 independente da data q eu digito...como isso é possivel ??? huauha

Compartilhar este post


Link para o post
Compartilhar em outros sites

Camarada,Possivelmente seu if esta com algum pau e entrando nele todos as vezes e joga NULL para sAux.Só pode ser isso! Deve ser alguma bobgem.Dê uma verificada pois fiz uns teste aqui q funfou sem problemas.Qq coisa posta ai.t+

Compartilhar este post


Link para o post
Compartilhar em outros sites

agora ta funcionando...ficou assim...

 

if data_fim <> "" then   data = "data_fim='"&data_fim&"',"  else  data_fim = "null"  data = "data_fim="&data_fim&","  end if	if alteracao="alterar" then	sql_update = "UPDATE Estagio set cpf_aluno ='"&int_cpf&"',data_inicio='"&data_inicio&"',"&_	data&"ch_cumprida='"&int_ch_cumprida&"',"&_	"local='"&str_local&"',cidade='"&str_cidade&"',data_estimativa_conclusao='"&data_estimativa_conclusao&"'"&_	"WHERE (cpf_aluno ='"&int_cpf&"') AND (data_inicio ='"&data_inicio&"')"  	conexao.execute(sql_update)	response.write("Alteracão efetuada com sucesso")	end if

fiz o q o jothaz disse e misturei com o q o jonhatandj tinha dito antes e ficou desse jeito ai..e pelos testes ta beleza...

 

vlw d novo pela ajuda d vcs ... esse fórum é o melhor ja até abandonei os outros hehe..

continuem assim...até os membros daqui ajudam bastante... 10!

Compartilhar este post


Link para o post
Compartilhar em outros sites

beleza cara....obrigado pela credibilidade, no que precisar conte com a genteAbraço

Compartilhar este post


Link para o post
Compartilhar em outros sites

ressucitando o tópico!!!

 

to com outro problema parecido, só q agora a variavel é Int...e não ta dando pra receber null do mesmo jeito...

 

tipo

if inteiro="" theninteiro="null"end if

ele ta cadastrando com valor=0 .. e na hora d alterar aparece o valor=0 no campo, ai se for deixar em branco tem q apagar pra funcionar hehe...se não teria q preencher outros campos...

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.