BUSCAR PARAMETRO POR DUAS DATAS

ROBFERREIRAA 24/08/2012 00:12:58
#408503
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
JABA 24/08/2012 00:49:55
#408508
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
ROBFERREIRAA 24/08/2012 10:46:10
#408541
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)
ALEVALE 24/08/2012 11:21:27
#408549
Resposta escolhida
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()
ROBFERREIRAA 24/08/2012 11:32:13
#408553
Nao, ja esta no formato de dia mes ano e na propria busca como demostrei acima busco convertendo para o padrao do nosso pais
ALEVALE 24/08/2012 11:51:48
#408558
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.
ROBFERREIRAA 24/08/2012 12:18:56
#408565
ta ok vou testar qualquer coisa te falo obrigado
Tópico encerrado , respostas não são mais permitidas