• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

djgavva

Data

2 mensagens neste tópico

Olá

Estou a construir um site para uma empresa, e estou com um problema na inserção da data...

Quando insiro a noticia, a data que encontra nas noticias é sempre a mesma, e é 14-07-1897, sabem como posso resolver o problema...

public int noticiaInsere(string noticia_titulo, string noticia_assunto, string noticia_mensagem)

        {

            return insert("insert into noticia ( noticia_titulo, noticia_assunto, noticia_mensagem, noticia_data )values (" + nullCheck(noticia_titulo) + "," + nullCheck(noticia_assunto) + "," + nullCheck(noticia_mensagem) + ","+ toBDDate(DateTime.now) +")");

        }

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Sugeria que utilizasses parametros...

Assim tenho a certeza q os dados seriam bem tratados e bem formatados de maneira a q o motor de base de dados reconheça como deve ser os valores....

para isso sugeria que a tua função para fazer o insert se baseasse em qq coisa como o q vem escrito em baixo.

Não dou garantias deste codigo por foi escrito aqui no editor da resposta e não foi validado.... tambem porq foi escrito a pressa. É so para teres uma ideia

public bool insert(string tabela, string[] campos, object[] valores)
{
    if (campos.Lenght == valores.Lenght)
    {
          String fields = String.Empty;
          String paramField = String.Empty
          for (int i =0; i < campos.Lenght; i++)
          {
               if (i != campos.Lenght -1)
               {
                   fields = fields + campos[i] + ", ";
                   paramField = paramField + "@" + campos[i] + ", ";
               }
               else
               {
                   fields = fields + campos[i];
                   paramField = paramField + "@" + campos[i];
               }
          }
          
          String command = "INSERT INTO " + tabela + "("+fields+") " + VALUES ("+paramField+")";

          SqlConnection sqlConn = new SqlConnection(connectionString);
          SqlCommand sqlComm = new SqlCommand(command, sqlConn);
          for (int i = 0; i < valores.Lenght; i++)
          {
               //Implementar uma logica para saber qual o dbtype.... 
               //
              //
              // SqlDbType dbType;
              // if (valor[i] is String)
              // {
              //        dbType = SqlDbType.NvarChar;
              // }
          
                 sqlComm.Parameters.Add("@"+campos[i], dbType).Value = valor[i];
          }
          sqlConn.Open();
          sqlCmd.ExecuteNonQuery();
          sqlConn.Close();

     }
}

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora