none
Dar formato de yyyy/mm/dd datetimerpicker RRS feed

  • Pregunta

  • en este codigo solo estoy mostrando la fecha dd/mm/yyyy

    datetime fecha = dateTimePickerFalta.Value.Date

    quiero obtenerlo en yyyy/mm/dd pero de tipo dateTime

    como lo puedo hacer ?


    jueves, 9 de noviembre de 2017 21:13

Respuestas

  • El proveedor de datos OleDb utiliza marcadores de posición (?) para pasar parámetros a la consulta sql, por lo tanto, es importante definir los parámetros en el mismo orden en que aparecen los marcadores de posición (fecha, grado, paralelo), por ejemplo:

    string query = @"select p.cod, p.tipo, p.nombre
    		from Persona p where not exists( 
    			select ma.cod 
    			from Marcaciones ma 
    			where  ma.cod = p.cod and fecha  = ? and grado = ? and p.paralelo = ?";
    
    OleDbCommand command = new OleDbCommand(query, connection);
    
    command.Parameters.AddWithValue("@fecha", dateTimePickerFalta.Value.Date);
    command.Parameters.AddWithValue("@grado", cmbTipoPersona.Text);
    command.Parameters.AddWithValue("@paralelo", cmbParalelo.Text);

    jueves, 9 de noviembre de 2017 22:11

Todas las respuestas

  • Un tipo datetime no almacena valores de fecha y tiempo con formato, almacena una representación de fecha y tiempo en un tipo Int64. El formato se aplica para la presentación del valor, basado en la configuración regional o en un formato personalizado, convirtiendo el valor de tipo DatetTime a una cadena de caracteres.

    string fechaConFormato = dateTimePicker1.Value.ToString("yyyy/MM/dd");

    jueves, 9 de noviembre de 2017 21:38
  • estoy utilizando la fecha para hacer una consulta a access:

    este es el codigo que trato de utilizar:

    private void Reporte()
            {
                string query = @"select 
                                    p.cod, 
                                    p.tipo, 
                                    p.nombre
                                from Persona p where not exists( 
                                    select ma.cod 
                                    from Marcaciones ma where 
                                    ma.cod = p.cod
                                    and (fecha =@fecha) 
                                    and (grado = @grado) 
                                    and (p.paralelo = @paralelo)";
    
                OleDbCommand command = new OleDbCommand(query, connection);
    
                command.Parameters.AddWithValue("@grado", cmbTipoPersona.Text);
                command.Parameters.AddWithValue("@paralelo", cmbParalelo.Text);
                command.Parameters.AddWithValue("@fecha", dateTimePickerFalta.Value.Date);
    
                adapter.SelectCommand = command;
    
                DataSetReporte.Clear();
    
                adapter.Fill(DataSetReporte, "DTFaltas");    /////// ERROR: No coinciden los tipos de datos en la expresión de criterios.  
                dataGridView.DataSource = DataSetReporte;
                dataGridView.DataMember = "DTFaltas";
                dataGridView.Refresh();
            }

    y esta consulta la hice en access con exito, me salio bien:

    private void Reporte()
            {
                string query = @"select 
                                    p.cod, 
                                    p.tipo, 
                                    p.nombre
                                from Persona p where not exists( 
                                    select ma.cod 
                                    from Marcaciones ma where 
                                    ma.cod = p.cod
                                    and (fecha  = #2017/11/09#) 
                                    and (grado = @grado) 
                                    and (p.paralelo = @paralelo)";
    
                OleDbCommand command = new OleDbCommand(query, connection);
    
                command.Parameters.AddWithValue("@grado", cmbTipoPersona.Text);
                command.Parameters.AddWithValue("@paralelo", cmbParalelo.Text);
                command.Parameters.AddWithValue("@fecha", dateTimePickerFalta.Value);
    
                adapter.SelectCommand = command;
    
                DataSetReporte.Clear();
    
                adapter.Fill(DataSetReporte, "DTFaltas");    
                dataGridView.DataSource = DataSetReporte;
                dataGridView.DataMember = "DTFaltas";
                dataGridView.Refresh();
            }

    jueves, 9 de noviembre de 2017 21:54
  • El proveedor de datos OleDb utiliza marcadores de posición (?) para pasar parámetros a la consulta sql, por lo tanto, es importante definir los parámetros en el mismo orden en que aparecen los marcadores de posición (fecha, grado, paralelo), por ejemplo:

    string query = @"select p.cod, p.tipo, p.nombre
    		from Persona p where not exists( 
    			select ma.cod 
    			from Marcaciones ma 
    			where  ma.cod = p.cod and fecha  = ? and grado = ? and p.paralelo = ?";
    
    OleDbCommand command = new OleDbCommand(query, connection);
    
    command.Parameters.AddWithValue("@fecha", dateTimePickerFalta.Value.Date);
    command.Parameters.AddWithValue("@grado", cmbTipoPersona.Text);
    command.Parameters.AddWithValue("@paralelo", cmbParalelo.Text);

    jueves, 9 de noviembre de 2017 22:11
  • interesante dato que no conocia, aun asi me sale cualquier resultado, la confucion que tengo es que solo esta consulta me manda este error y demas consultas que hice de la misma manera me funcionan perfectamente

    este es el caso:

    private void ReporteGrado()
    {
        string query = @"SELECT 
                            cod,
                            tipo, 
                            nombre
                        FROM Marcaciones
                        WHERE  
                            (grado =  @grado) 
                            AND(paralelo = @paralelo) 
                            and (fecha >= @desde AND fecha <= @hasta); ";
    
        OleDbCommand command = new OleDbCommand(query, connection);
    
        command.Parameters.AddWithValue("@grado", cmbTipoPersona.Text);
        command.Parameters.AddWithValue("@paralelo", cmbParalelo.Text);
        command.Parameters.AddWithValue("@desde", dateTimePickerDesde.Value.Date);
        command.Parameters.AddWithValue("@hasta", dateTimePickerHasta.Value.Date);
    
        adapter.SelectCommand = command;
        DataSetReporte.Clear();
        adapter.Fill(DataSetReporte, "DTReporte");
    
        dataGridView.DataSource = DataSetReporte;
        dataGridView.DataMember = "DTReporte";
        dataGridView.Refresh();
    }


    jueves, 9 de noviembre de 2017 22:37