BUSCAR PARAMETRO POR DUAS DATAS
ola gente tenho essas classes para buscar para uma dta como eu faço para buscar o parametro entre duas datas e exebir em um grid
classe
Public Function BuscarpacienteMenu(ByVal nomealuno As Date) As DataTable
Dim tabCadaluno As New DataTable
Dim con As New MySqlConnection(strCon)
Dim SQL As String = [Ô]SELECT *,date_format(Data, [ô]%d/%m/%Y[ô]) AS Data FROM AgendamentoPac where Data= @Data[Ô]
Dim adaptador As New MySqlDataAdapter(SQL, con)
adaptador.SelectCommand.Parameters.Add([Ô]@Data[Ô], MySqlDbType.Date)
adaptador.SelectCommand.Parameters([Ô]@data[Ô]).Value = nomealuno
Try
con.Open()
adaptador.Fill(tabCadAluno)
Catch ex As MySqlException
MessageBox.Show(ex.Message, [Ô]Erro[Ô], MessageBoxButtons.OK, MessageBoxIcon.Error)
Finally
con.Close()
End Try
Return tabCadAluno
End Function
botao
Dim Buscar As New CadAgendamentoPaciente
DgAgendaMenu.DataSource = Buscar.BuscarpacienteMenu(DTmenu.Text)
Me.DTmenu.Focus()
valeu
classe
Public Function BuscarpacienteMenu(ByVal nomealuno As Date) As DataTable
Dim tabCadaluno As New DataTable
Dim con As New MySqlConnection(strCon)
Dim SQL As String = [Ô]SELECT *,date_format(Data, [ô]%d/%m/%Y[ô]) AS Data FROM AgendamentoPac where Data= @Data[Ô]
Dim adaptador As New MySqlDataAdapter(SQL, con)
adaptador.SelectCommand.Parameters.Add([Ô]@Data[Ô], MySqlDbType.Date)
adaptador.SelectCommand.Parameters([Ô]@data[Ô]).Value = nomealuno
Try
con.Open()
adaptador.Fill(tabCadAluno)
Catch ex As MySqlException
MessageBox.Show(ex.Message, [Ô]Erro[Ô], MessageBoxButtons.OK, MessageBoxIcon.Error)
Finally
con.Close()
End Try
Return tabCadAluno
End Function
botao
Dim Buscar As New CadAgendamentoPaciente
DgAgendaMenu.DataSource = Buscar.BuscarpacienteMenu(DTmenu.Text)
Me.DTmenu.Focus()
valeu
Você está passando o nome do aluno para data, é isso mesmo?
adaptador.SelectCommand.Parameters([Ô]@data[Ô]).Value = nomealuno
Para pegar registros por intervalo de datas é assim:
Dim SQL As String = [Ô]SELECT * FROM AgendamentoPac where DataInicial >= @DataInicial And DataFinal <= @DataFinal[Ô]
vlw
adaptador.SelectCommand.Parameters([Ô]@data[Ô]).Value = nomealuno
Para pegar registros por intervalo de datas é assim:
Dim SQL As String = [Ô]SELECT * FROM AgendamentoPac where DataInicial >= @DataInicial And DataFinal <= @DataFinal[Ô]
vlw
Ali é uma variável 'para chamar a tabela
entao para chamar a parametro entre as duas datas em mysql é dessa maneira
Dim SQL As String = [Ô]SELECT * FROM AgendamentoPac where DataInicial >= @DataInicial And DataFinal <= @DataFinal[Ô]
e pra chamar no botao seria assim
Dim Buscar As New CadAgendamentoPaciente
DgAgendaMenu.DataSource = Buscar.BuscarpacienteMenu(DTmenu.Text & dtmenu1.text)
entao para chamar a parametro entre as duas datas em mysql é dessa maneira
Dim SQL As String = [Ô]SELECT * FROM AgendamentoPac where DataInicial >= @DataInicial And DataFinal <= @DataFinal[Ô]
e pra chamar no botao seria assim
Dim Buscar As New CadAgendamentoPaciente
DgAgendaMenu.DataSource = Buscar.BuscarpacienteMenu(DTmenu.Text & dtmenu1.text)
Se o seu campo data estiver no formato (25-08-2012 00:00:00) faça assim:
Dim connection As New SqlConnection(ConnectionString)
Dim dr As SqlDataReader
Dim selectText As String
Dim myCommand As SqlCommand
Dim ds As DataSet = New DataSet()
Dim ConnectionString As String = [Ô]Data Source = [Ô] + strServidor + [Ô]; Initial Catalog = [Ô] + strBanco + [Ô]; User Id =[Ô] + strUsuarioBanco + [Ô]; Password =[Ô] + strSenhaUsuarioBanco
Dim strConn As SqlConnection
strConn = New SqlConnection(ConnectionString)
GridSalas.DataSource = Nothing
GridSalas.DataBind()
adapter = Nothing
selectText = [Ô][Ô]
[ô]SELECT
selectText = [Ô]SELECT t1.MOV_DataHora, t2.PES_PIS FROM Log_Credencial t1 INNER JOIN Pessoas t2 ON t1.PES_Numero = t2.PES_Numero WHERE (t1.EQPI_Numero = [ô] 4[ô][Ô]
selectText += [Ô]and t1.MOV_DataHora >=[Ô] & [Ô][ô][Ô] & CDate(DateTimePickerDataInicial.Value.Date).ToString([Ô]MM/dd/yyyy[Ô]) & [Ô][ô] And t1.MOV_DataHora <= [Ô] & [Ô][ô][Ô] & CDate(DateTimePickerDataFinal.Value.Date).ToString([Ô]MM/dd/yyyy[Ô]) & [Ô][ô])[Ô]
[ô]ABRE CONEXAO
strConn.Open()
myCommand = New SqlCommand(selectText, strConn)
adapter = New SqlDataAdapter(myCommand)
adapter.Fill(ds)
GridSalas.DataSource = ds.Tables(0).DefaultView()
GridSalas.DataBind()
[ô]FECHA CONEXAO BANCO
strConn.Close()
Dim connection As New SqlConnection(ConnectionString)
Dim dr As SqlDataReader
Dim selectText As String
Dim myCommand As SqlCommand
Dim ds As DataSet = New DataSet()
Dim ConnectionString As String = [Ô]Data Source = [Ô] + strServidor + [Ô]; Initial Catalog = [Ô] + strBanco + [Ô]; User Id =[Ô] + strUsuarioBanco + [Ô]; Password =[Ô] + strSenhaUsuarioBanco
Dim strConn As SqlConnection
strConn = New SqlConnection(ConnectionString)
GridSalas.DataSource = Nothing
GridSalas.DataBind()
adapter = Nothing
selectText = [Ô][Ô]
[ô]SELECT
selectText = [Ô]SELECT t1.MOV_DataHora, t2.PES_PIS FROM Log_Credencial t1 INNER JOIN Pessoas t2 ON t1.PES_Numero = t2.PES_Numero WHERE (t1.EQPI_Numero = [ô] 4[ô][Ô]
selectText += [Ô]and t1.MOV_DataHora >=[Ô] & [Ô][ô][Ô] & CDate(DateTimePickerDataInicial.Value.Date).ToString([Ô]MM/dd/yyyy[Ô]) & [Ô][ô] And t1.MOV_DataHora <= [Ô] & [Ô][ô][Ô] & CDate(DateTimePickerDataFinal.Value.Date).ToString([Ô]MM/dd/yyyy[Ô]) & [Ô][ô])[Ô]
[ô]ABRE CONEXAO
strConn.Open()
myCommand = New SqlCommand(selectText, strConn)
adapter = New SqlDataAdapter(myCommand)
adapter.Fill(ds)
GridSalas.DataSource = ds.Tables(0).DefaultView()
GridSalas.DataBind()
[ô]FECHA CONEXAO BANCO
strConn.Close()
Nao, ja esta no formato de dia mes ano e na propria busca como demostrei acima busco convertendo para o padrao do nosso pais
Tá se o filtro você está conseguindo fazer (Select) qual a sua dúvida agora ?
Se for colocar os dados no grid, utilize meu exemplo alterando o select.
Se for colocar os dados no grid, utilize meu exemplo alterando o select.
ta ok vou testar qualquer coisa te falo obrigado
Tópico encerrado , respostas não são mais permitidas