Buenas noches gente, qué tal? Aqui estoy enredado con fechas
Tengo una tabla que tiene una columna con fechas
Quiero que me muestre en el datagridview todas las columnas del mes pasado y también que tengan null en
la columna kwh
Tomo la primer fila(siempre será la fecha que yo quiero) de la columna mes y la formateo en MM-yyyy y pongo
el resultado en el label2
Tomo la fecha de hoy, le resto un mes y la formateo a MM-yyyy y la pongo en el label4
Pero cuando hago otra consulta a la tabla con el valor del label4, el resultado es nada. Mal. Pero claro,
en la tabla está todo en (dd-MM-yyyy hh:mm:ss)
El drama es porque como se ve en la caprura de pantalla, en el primer datagridview me da dos filas por cada
usuario, la fila de ese mes de este año y la fila de ese mes del año siguiente. Yo quiero solo lo del mes pasado, no lo de dentro de 13 meses
Espero haberme explicado, espero su mano, gracias
la captura de pantalla:
http://uploads.im/EJ1P0.png
mi código:
Imports MySql.Data.MySqlClient
Imports MySql.Data
Public Class facturar
Dim con As MySqlConnection = New MySqlConnection("Server=localhost; user Id=user1; Password=multiredes; Database=prueba1")
Private Sub facturar_Load(sender As Object, e As EventArgs) Handles MyBase.Load
'Se crea un MySqlDataAdapter para obtener los datos de la base
Dim MyAdapter As New MySqlDataAdapter("SELECT * FROM tablita WHERE MONTH(mes) = MOD(MONTH(CURDATE()), 12) - 1 and kwh is null;", con)
'Se crea un DataTable que almacenará los datos desde donde se cargaran los datos al DataGridView
Dim MyDataTable As New DataTable
'Con la información del adaptador se rellena el DataTable
MyAdapter.Fill(MyDataTable)
'Se asigna el DataTable como origen de datos del DataGridView
DataGridView1.DataSource = MyDataTable
Dim _tiempo As DateTime = DataGridView1.Rows(0).Cells(6).Value
Dim _tiempo2 As String
_tiempo2 = Format(_tiempo, "MM-yyyy")
Label1.Text = _tiempo
Label2.Text = _tiempo2
Dim _tiempohoy As Object = DateTime.Now()
'_tiempohoy = Format(Now, "MM-yyyy")
'DateTime _tiempohoy = _tiempohoy.AddDays(-1);
Label3.Text = _tiempohoy
'resto un mes a la fecha actual(_tiempohoy), lo pongo en _tiempo3, luego formateo esa variable y la muestro en el label4
Dim _tiempo3
_tiempo3 = DateAdd(DateInterval.Month, -1, _tiempohoy).ToShortDateString()
_tiempo3 = Format(_tiempo, "MM-yyyy")
Label4.Text = _tiempo3
'Se crea un MySqlDataAdapter para obtener los datos de la base
Dim MyAdapter2 As New MySqlDataAdapter("SELECT * FROM tablita WHERE mes = ('" + Label4.Text + "') and kwh is null;", con)
'Se crea un DataTable que almacenará los datos desde donde se cargaran los datos al DataGridView
Dim MyDataTable2 As New DataTable
'Con la información del adaptador se rellena el DataTable
MyAdapter2.Fill(MyDataTable2)
'('" + Label_nombre_grande.Text + "')
DataGridView2.DataSource = MyDataTable2
End Sub
End Class