Ir para conteúdo

Arquivado

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

TeixeiraRamos

Campo data cadastrar

Recommended Posts

Josimar e Gustavo,

Obrigado gente, mas por favor, me permita informar o seguinte. Eu não estou inventando nada tudo que vocês estão vendo faz parte de um capítulo de um livro. Nas páginas números 264 a 279, o autor demonstra e comenta algumas linhas do código. Trata-se do livro MsSQL - Guia de Programador - André Milani - Ed. novatec.

Acontece que no livro não tem exemplo de campo com data dai que eu entrei com mais esse campo para aprender.  Todo o código do autor cadastra, altera e exclui registros no banco de dados. Sem Erro!

Só apresenta erro quando entro com o campo "date". 

Se eu tenho que assumir a responsabilidade dos erros que a postagem é minha eu assumo. Mas sinceramente a única coisa que fiz foi entrar no banco de dados incluir mas um campo data e alterei o código nos locais necessários.  

Mas em nenhum momento eu criei:

 

Citar

If Request.QueryString("acao") = "adicionar"

 

Josimar (da terra da minha mulher), conheço PE, terra boa...

Se eu errar naquilo que você sugere pode meter a bronca, puxar orelha...

Aqui coloquei SQL diretamente no HTML. Mas não acontece nada.

'Caso ocorra um erro, prossiga até o tratamento de erro
On error resume next
'Verifica se o arquivo foi chamado a partir de um formulário
If Request.QueryString("acao") = "adicionar" then
   sql =  "INSERT INTO livros (livro, autor, editora, data_inicio) VALUES ('Teste Forum', 'Josimar', 'Josimar Livros', '2017-07-18')" 

Esse formulário chamado gerencia-registro.asp abre com dois link:

Clique aqui para inserir um novo registro.
Clique aqui para visualizar os registros.

Se eu clicar em "...inserir um novo registro..." abre a página inserir.asp  com os campos em brando para entrar com um novo registro.

Se eu clicar em "...visualizar os registros..." abre a página lista.asp onde mostra todos os registros.

Concordo que eu ao entrar com esse campo date posso está errando em alguma coisa (considerando que o Gustavo postou que na função não tem erro) na SQL.

Vou voltar a fazer um exame acurado no código.

Obrigado.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não amigo, não estamos aqui pra puxar orelha de ninguém rsrsrs. Nós apenas estamos partilhando de seu problema para tentarmos encontrar uma solução.

 

Você está usando banco de dados mySql ou MsSQL?

 

Vi que acima quando você mencionou o livro do autor você citou MsSQL (Microsoft SQL)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Valeu Josimar,

Puxar orelha é só uma força de expressão. Desculpe alguma coisa.

O nome correto do livro é "MySQL - Guia do Programador - autor André Milani - Ed. novatec."

Com relação ao nome do livro desculpe também.

Já fiz diversas tentativas, mas ainda não foi possível.

Continua o erro que aponta para a página gerencia-registro.asp:

Citar

Erro: [MySQL][ODBC 3.51 Driver][mysqld-5.7.13-log]You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ')' at line 1

  Onde sugere ser a SQL, mas onde?

Mais um vez muito obrigado Josimar pela atenção.

Compartilhar este post


Link para o post
Compartilhar em outros sites

tente colocar esse trecho no inicio da página asp vai ter que salvar no banco no ato que a página abrir independente de qualquer ação... vamos fazer salvar no banco...

<%

sql =  "INSERT INTO livros (livro, autor, editora, data_inicio) " 
sql = sql & "VALUES ('Teste Forum', 'Josimar', 'Josimar Livros', '2017-07-18')" 
'Executa a expressão SQL no servidor
cnnDB.Execute sql

%>

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom dia a todos,

Vamos lá Gustavo e Josimar,

Primeiro vamos a um dos meus erros grave que estava gerando esse "Erro". A função InverteDataMySql abaixo sugerida desde o início:

Function InverteDataMySql(data_inicio)
if not isdate(data_inicio) then exit function
if instr(data_inicio, " ") > 0 then
hora  = split(data_inicio, " ")(1)
end if
InverteDataMySql = year(cdate(data_inicio)) & "-" & month(cdate(data_inicio)) & "-" & day(cdate(data_inicio))
if hora <> "" then InverteDataMySql = InverteDataMySql & " " & hora
End Function 

deveria ficar dentro do formulário gerencia-registro.asp e estava no inserir.asp.

Bastou eu colocar a função no formulário certo e tudo foi resolvido.

Entendo que tem que ser uma coisa de cada vez, mas já pensaram o que tem dentro de uma "form":

checkbox, list/Menu etc e onde vamos achar isso para estudar, fazer, testar?

Desculpes os autores, mas os livros só mostram exemplos de campo texto.

Bem é a vida...se vocês descobrirem livro, apostila etc para estudar HTML com ASP interagindo com MySQL por favor me avise.

Obrigado por tudo, inclusive Josimar tenho um amigo que também não usa função, segundo ele: " sem função... só manipulando as variáveis...". Vou testar depois, sem função, agora Não! Salvei 10 vezes os formulários inclusivo o da função e imprimi.   

Até a próxima e muito sucesso para vocês!!!

 

 

 

 

 

 

 

 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Josimar,

Não achei do Neri Neitzke nada sobre ASP,  MySQL?

Curso ASP.NET depois vou querer sim.

Obrigado!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Minha gente, boa noite,

Ainda tenho um problema. Nem sempre vou ter que digitar data.

Devo colocar na SQL, NULL?

Estou entrando com registro e, não digito data, mostra erro assim:

Citar

Erro: [MySQL][ODBC 3.51 Driver][mysqld-5.7.13-log]Incorrect date value: '' for column 'data_inicio' at row 1

Direto no banco entro com (NULL) e tudo bem. Mas no ASP não tem condições.

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Com relação a função nem me atentei da mesma não estar no arquivo por ser uma função genérica que pode ser usada em várias páginas ASP o melhor seria não colocar na página a ser usada e sim numa página específica de funções e depois dar um include nas páginas que forem usar tais funções desta forma evita até redundâncias de códigos dificultando em manutenções tendo que corrigir em diversas páginas a mesma coisa... exemplo:

 

ARQUIVO FUNCOES.ASP

Function SomaValor(v1,v2)

SomaValor = cdbl(v1)+ cdbl(v2)

End Function

 

Function TiraEspaco(Texto)

for i = 1 to 100

TiraEspaco = replace(Texto," ","")

next

End Function

 

FIM  DO ARQUIVO FUNÇÕES

 

ARQUIVO CLIENTES.ASP

<!--#include file="FUNCOES.ASP"-->

 

<%

if request("botao") = "SALVAR CLIENTE" then

nomecliente  = TiraEspaco(request("nomecliente"))

end if

%>

<form name="form">

...

</form>

FIM DO ARQUIVO CLIENTES.ASP

 

Como pode ver a função tiraespaco não está diretamente na página clientes.asp mas foi referenciada de funcoes.asp do jeito que foi incluída o arquivo é porque está na mesma pasta se estivesse fora desta pasta é só deixar assim:

<!--#include file="../FUNCOES.ASP"-->

 

agora com relação ao campo está vazio lá no banco deve permitir valor nulo...

 

 

 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

OK.

Obrigado, vou aproveitar suas sugestões.

Muito obrigado.

Sucesso para você e sua Família.

Fique com Deus.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pessoal Boa Noite.

Tive um sério de problema. A data só entrava no formulário inserir (INSERT INTO...) com a função.

Ocorre que se Editar tem que entrar com a data novamente. Em fim...tentei de tudo.

Estou tentando entrar com a formatação direto na SQL.

Postei na área MySQL.

Por favor moderador, não sei se aqui poderia fechar.

Pode me ajudar?

Compartilhar este post


Link para o post
Compartilhar em outros sites

  • Conteúdo Similar

    • Por unset
      Olá, estou com uma pequena dúvida 
       
      Como transformar a data que recebemos com a função date("Y-m-d H:i") em uma string 2021-04-22T00:00 exatamente nesse formato ?
    • Por unset
      Olá, estou com um probleminha aqui se alguém puder ajudar,
       
      Eu tenho a data em uma coluna no formato date 2020-12-01 e a hora em outra coluna no formato time 09:00:00
       
      Como eu posso saber se a data de hoje é maior do que data e hora dessas 2 colunas?
    • Por thiagocola
      Eu peguei esse JSON no site do iFood e estou com dúvida de como converter esses 8 números em Time (HH:mm).
      Já tentei timestamp mas 8 dígitos é muito pequeno e já tentei ticks.
      Estou usando C#.
       
      "openingHours": [
                        {
                          "dayOfWeek": "MONDAY",
                          "openingTime": 13500000,
                          "closingTime": 97140000
                        },
                        {
                          "dayOfWeek": "TUESDAY",
                          "openingTime": 13500000,
                          "closingTime": 97140000
                        },
                        {
                          "dayOfWeek": "WEDNESDAY",
                          "openingTime": 13500000,
                          "closingTime": 97140000
                        },
                        {
                          "dayOfWeek": "THURSDAY",
                          "openingTime": 13500000,
                          "closingTime": 97140000
                        },
                        {
                          "dayOfWeek": "FRIDAY",
                          "openingTime": 13500000,
                          "closingTime": 97140000
                        },
                        {
                          "dayOfWeek": "SATURDAY",
                          "openingTime": 13500000,
                          "closingTime": 97140000
                        },
                        {
                          "dayOfWeek": "SUNDAY",
                          "openingTime": 13500000,
                          "closingTime": 97140000
                        }
                      ]
       
      Estou achando que tenho que fazer algum tipo de multiplicação ou em última hipótese, esse valor é algum identificador interno do sistema deles.
       
      Tentei converter assim:
       
      DateTime dtDateTime = new DateTime(1970, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc);
       
      var openingTime = dtDateTime.AddSeconds(13500000).ToLocalTime();
      // {06/06/1970 03:00:00}
       
      var closingTime = dtDateTime.AddSeconds(97140000).ToLocalTime();
      // {29/01/1973 05:20:00}
       
      Mas os valores que retornam não fazem sentido pra mim.
       
    • Por mamotinho
      Olá, estou com problemas, minha data está atualizando porém eu clico em um produto ele exibe o tempo sem atualizar . quando eu mudo de produto ele mostra os dois valores exemplo
      Produto 1: tem duraçao de: 1 dia e 13:023 PM
      Produto 2: tem duraçao de: 0 dia e 23:023 PM

      Quando eu clico no produto 1 ele exibe normalmente, porém quando mudo para o produto 2 ele fica atualizando o valor do dia do produto 1 e do produto 2 sempre mudando.
      segue abaixo como está o codigo

      JavaSCRIPT
       
      function anooo(mes,dia,h,m){ var mess = mes; var dias = dia; var hss = h; var mss = m; // Set the date we're counting down to var countDownDate = new Date(""+mess+" "+dias+", 2020 "+hss+":"+mss+":00").getTime(); // Update the count down every 1 second var x = setInterval(function() { // Get today's date and time var now = new Date().getTime(); // Find the distance between now and the count down date var distance = countDownDate - now; // Time calculations for days, hours, minutes and seconds var dayss = Math.floor(distance / (1000 * 60 * 60 * 24)); var hours = Math.floor((distance % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60)); var minutes = Math.floor((distance % (1000 * 60 * 60)) / (1000 * 60)); var seconds = Math.floor((distance % (1000 * 60)) / 1000); document.getElementById("days").innerHTML = dayss; document.getElementById("hrs").innerHTML = hours; document.getElementById("minus").innerHTML = minutes; document.getElementById("secs").innerHTML = seconds; this.remove(countDownDate); // If the count down is over, write some text if (distance < 0) { clearInterval(x); } }, 1000); } AQUI É O CHAMADO:
       
      <? if($result->Discount>=1){ $Month = date('M', strtotime($result->DateDiscount)); $Days = date('d', strtotime($result->DateDiscount)); $Hours = date('H', strtotime($result->DateDiscount)); $Minutes = date('i', strtotime($result->DateDiscount)); echo "<script>anooo('".$Month."','".$Days."','".$Hours."','".$Minutes."')</script>"; //echo "<script>alert('".$Month."')</script>"; ?> <ul class="time_sell remain_time"> <li> <dl> <dt class="blind">남은시간</dt> <dd> <span class='n_date day' id='days'></span> <span class='date'>일</span> <span class='n_time hour' id='hrs'></span> <span class='n_time minute' id='minus'></span> <span class='n_time second' id='secs'></span> <div id="countdown"></div> </dd> </dl> </li> </ul> <? } ?> eu já tentei de tudo mais sempre que mudo de produto ele exibe a data dos produtos anteriores em loop. a cada atualização do setInterval
    • Por lucianfpaula
      Olá bom dia, estou com um problema, eu estou tentando fazer um select que me retorne dados de uma tabela com data igual a data do dia ou maior mas não estou conseguindo, só consigo trazer datas maiores que a do dia, mas datas igual ao dia não consigo, estou usando o seguinte select
      SELECT * FROM tabela WHERE id = 1 AND dataTermino >= NOW()
       
      Não sei se tem a ver com a data do servidor 
×

Informação importante

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