NÃO CARREGA PESQUISA

MOUSER 31/10/2015 21:14:20
#453325
Galera, estou fazendo a pesquisa por data em String usando o cod da data, só que ele não esta apresentando.
Exemplo, ele pega a data de inicio, pesquisa se existe a data na tabela, registra o cod da data na variável A (Integer) e a data final ele pesquisa se existe a data na tabela e registra também o cod na variável B.
Ficou da seguinte forma:
Citação:

Dim codI, codF, con As Integer
Private Sub CarregaGrid()
Try
Dim carregadata As New clnDepCard
Dim drDados As System.Data.SqlClient.SqlDataReader
drDados = carregadata.ListarData(Me.txtDataInicio.Text)
If drDados.Read Then
codI = CInt(drDados([Ô]cod[Ô]))
drDados = carregadata.ListarData(Me.txtDataFinal.Text)
If drDados.Read Then
codF = CInt(drDados([Ô]cod[Ô]))
con = codI
While con <= codF
dgv.DataSource = carregadata.ListaCod(con)
con = con + 1
End While
Else
MsgBox([Ô]Data Final não identificado[Ô], MsgBoxStyle.Critical, [Ô]Data não encontrado[Ô])
End If
Else
MsgBox([Ô]Data inicial não identificado[Ô], MsgBoxStyle.Critical, [Ô]Data não encontrado[Ô])
End If
Catch ex As Exception
MsgBox([Ô]Erro na codificação[Ô], MsgBoxStyle.Critical, [Ô]Erro ao executar[Ô])
End Try
End Sub


A janela é esta anexada!
Se alguém puder me ajudar.
MOUSER 31/10/2015 21:31:53
#453326
Eu já fiz o teste do código, ele está executando o comando do SQL, só não mostra na tela.

NICKOSOFT 31/10/2015 21:57:18
#453328
Resposta escolhida
vc deve enviar ao DGV um dataset, datatable, um datareader tmb, mas a forma q alimenta o DGV dentro do while eu não entendi.....
eu sempre opto por enviar o resultado todo de uma vez.....
mas olhei no site do macoratti e vi uma forma meio [Ô]na unha[Ô] de preencher...
  
Private Sub preencheDataGridView()


[ô]preenche o grid com alguns dados

Dim row0 As String() = {[Ô]1[Ô], [Ô]Macoratti[Ô], [Ô]11/02/1968[Ô]}

Dim row1 As String() = {[Ô]2[Ô], [Ô]Jefferson[Ô], [Ô]12/09/1995[Ô]}

Dim row2 As String() = {[Ô]3[Ô], [Ô]Jessica[Ô], [Ô]11/11/1971[Ô]}

Dim row3 As String() = {[Ô]4[Ô], [Ô]Janice[Ô], [Ô]06/07/1990[Ô]}

Dim row4 As String() = {[Ô]5[Ô], [Ô]Mirima[Ô], [Ô]5/07/1981[Ô]}


[ô]adiciona as linhas

With Me.meuDataGridView.Rows

.Add(row0)

.Add(row1)

.Add(row2)

.Add(row3)

.Add(row4)

End With


[ô]adiciona as colunas

With Me.meuDataGridView

.Columns(0).DisplayIndex = 0

.Columns(1).DisplayIndex = 1

.Columns(2).DisplayIndex = 2

End With



End Sub

http://www.macoratti.net/07/08/vbn5_dvc.htm

de qq forma pq não trabalha com as datas propriamente ditas e faz a busca com o between e retorna um datasource, e alimenta de uma vez so o DGV
MOUSER 31/10/2015 22:00:43
#453329
Eu posso estar usando outro tipo de laço de repetição para preencher a DGV? tipo FOR/NEXT?
KERPLUNK 31/10/2015 22:14:56
#453330
Não use [Ô]dados.Read[Ô], use [Ô]dados.HasRows[Ô], pra saber se algo foi retornado. Se houver dados, aí sim você executa [Ô]dados.Read[Ô] e então pega os dados.
NICKOSOFT 01/11/2015 11:27:56
#453333
falei do laco pq vc esta enviando algo pro datasource do componente em todo laço.....e o datasource eu sempre vejo ser passada uma única vez....
para preencher linha a linha ai sim, mas ai não usa datasource.....pode ser usado algo como o código q postei
MOUSER 03/11/2015 20:46:32
#453369
Minha ideia é pesquisar a data (dataInicial, dataFinal As String) e salvar o codigo dele em uma variavel, (codInicial, codFinal As Integer), pensei em criar um contador, (con As Integer),Para dar start no sistema, con recebe codInicial, depois Se con For menor que codFinal, pesquise con, se ler (ou achar informações), Apresenta na DGV, depois con = con + 1, e repita a verificação, se con for = a codFinal, finaliza o processo de contagem, Mostrando todos os resultados da pesquisa.
OMAR2011 03/11/2015 22:43:57
#453375
Mostre para o pessoal o que é isto.
[txt-color=#e80000]Dim carregadata As New clnDepCard[/txt-color]
Se o pessoal tivesse compreendido seu código já teria respostas afirmativas.
MOUSER 03/11/2015 23:00:23
#453377
Citação:


Imports System.Data.SqlClient
Imports System.Text
Public Class clnDepCard
Private _cod As Integer
Private _Data As String
Private _ValorD As String
Private _ValorT As String
Private _Valor As String
Private _Desconto As String
Private _Bandeira As String
Private _Taxa As String

Public Property Taxa As String
Get
Return _Taxa
End Get
Set(ByVal value As String)
_Taxa = value
End Set
End Property

Public Property Cod As Integer
Get
Return _cod
End Get
Set(ByVal value As Integer)
_cod = value
End Set
End Property

Public Property Data As String
Get
Return _Data
End Get
Set(ByVal value As String)
_Data = value
End Set
End Property

Public Property ValorD As String
Get
Return _ValorD
End Get
Set(ByVal value As String)
_ValorD = value
End Set
End Property

Public Property ValorT As String
Get
Return _ValorT
End Get
Set(ByVal value As String)
_ValorT = value
End Set
End Property

Public Property Valor As String
Get
Return _Valor
End Get
Set(ByVal value As String)
_Valor = value
End Set
End Property

Public Property Desconto As String
Get
Return _Desconto
End Get
Set(ByVal value As String)
_Desconto = value
End Set
End Property

Public Property Bandeira As String
Get
Return _Bandeira
End Get
Set(ByVal value As String)
_Bandeira = value
End Set
End Property

Public Function ListarTaxa(ByVal strBandeira As String) As SqlDataReader
Dim strQuery As New StringBuilder
strQuery.Append([Ô]Select Taxa From t_Bandeira Where Bandeira like [ô][Ô] & strBandeira & [Ô]%[ô][Ô])
Dim _cldBancoDados As New cldBancoDados
Return _cldBancoDados.RetornaDataReader(strQuery.ToString)
End Function

Public Function ListaInicio(ByVal strDescricao As String) As DataSet
Dim strQuery As New StringBuilder
strQuery.Append([Ô]Select Data, Valor, Bandeira,VALORDESC From t_Debito Where Data like [ô]%[Ô] & strDescricao & [Ô]%[ô] Order by Data[Ô])
Dim _cldBancoDados As New cldBancoDados
Return _cldBancoDados.RetornaDataSet(strQuery.ToString)
End Function

Public Sub Excluir(ByVal codigo As Integer)
Dim strQuery As New StringBuilder
strQuery.Append([Ô]Delete from t_Deposito Where cod=[ô][Ô] & codigo & [Ô][ô][Ô])
Dim _cldBancoDados As New cldBancoDados
_cldBancoDados.ExecutaComando(strQuery.ToString)
End Sub

Public Sub Gravar1() [ô]Ao adicionar valor unitario e apresentar no dgv principal
Dim strQuery As New StringBuilder
strQuery.Append([Ô]Insert into t_Debito (Data, Valor, Bandeira, VALORDESC) Values ([ô][Ô] & _Data & [Ô][ô],[ô][Ô] & _Valor & [Ô][ô],[ô][Ô] & _Bandeira & [Ô][ô],[ô][Ô] & _Desconto & [Ô][ô])[Ô])
Dim _cldBancoDados As New cldBancoDados
_cldBancoDados.ExecutaComando(strQuery.ToString)
End Sub

Public Sub Gravar2() [ô]Soma a coluna do valor, soma a coluna ja descontado e apresenta embaixo.
Dim strQuery As New StringBuilder
strQuery.Append([Ô]Insert into t_TotalDia (ValorTotal, ValorDeposito, Data) Values ([ô][Ô] & _ValorT & [Ô][ô],[ô][Ô] & _ValorD & [Ô][ô],[ô][Ô] & _Data & [Ô][ô])[Ô])
Dim _cldBancoDados As New cldBancoDados
_cldBancoDados.ExecutaComando(strQuery.ToString)
End Sub

Public Sub Gravar3() [ô]Gravar Bandeira dos Cartões
Dim strQuery As New StringBuilder
strQuery.Append([Ô]Insert into t_Bandeira (Bandeira, Taxa) Values ([ô][Ô] & _Bandeira & [Ô][ô],[ô][Ô] & _Taxa & [Ô][ô])[Ô])
Dim _cldBancoDados As New cldBancoDados
_cldBancoDados.ExecutaComando(strQuery.ToString)
End Sub

Public Sub Alterar1() [ô]Altera registro do recibo cliente
Dim strQuery As New StringBuilder
strQuery.Append([Ô]UPDATE t_PagCliente Set Valor = [ô][Ô] & _Valor & [Ô][ô], ValorDes = [ô][Ô] & _Desconto & [Ô][ô], Bandeira = [ô][Ô] & _Bandeira & [Ô][ô] Where cod = [ô][Ô] & _cod & [Ô][ô][Ô])
Dim _cldBancoDados As New cldBancoDados
_cldBancoDados.ExecutaComando(strQuery.ToString)
End Sub

Public Sub Alterar2() [ô]Altera registro da Bandeira
Dim strQuery As New StringBuilder
strQuery.Append([Ô]UPDATE t_Bandeira Set Bandeira = [ô][Ô] & _Bandeira & [Ô][ô], Taxa = [ô][Ô] & _Taxa & [Ô][ô] Where cod = [ô][Ô] & _cod & [Ô][ô][Ô])
Dim _cldBancoDados As New cldBancoDados
_cldBancoDados.ExecutaComando(strQuery.ToString)
End Sub

Public Function ListarCliente(ByVal cod As String) As SqlDataReader [ô]Sistema de busca para carregar em formulario
Dim strQuery As String
strQuery = [Ô]select * from t_PagCliente Where cod[ô][Ô] & cod & [Ô][ô][Ô]
Dim _cldBancoDados As New cldBancoDados
Return _cldBancoDados.RetornaDataReader(strQuery)
End Function

Public Function CarregaCod1(ByVal DataInicial As String, ByVal DataFinal As String) As SqlDataReader [ô]Sistema de busca para DGV
Dim strQuery As String
[ô]Sistema de pesquisa a partir de uma data até determinada data
[ô]strQuery = [Ô]Select (os campos) from (tabela) where (campo da tabela) between (data inicial) and (data final)[Ô]
strQuery = [Ô]Select Data, Valor, ValorDes from t_PagCliente where Data between [ô][Ô] & DataInicial & [Ô][ô] and [ô][Ô] & DataFinal & [Ô][ô][Ô]
Dim _cldBancoDados As New cldBancoDados
Return _cldBancoDados.RetornaDataReader(strQuery.ToString)
End Function

Public Function CarregaCod2(ByVal Descricao As String) As SqlDataReader [ô]Ao add um recibo novo, sera executado este bloco
Dim strQuery As String
strQuery = [Ô]Select Data, Valor, ValorDes From t_PagCliente[Ô]
Dim _cldBancoDados As New cldBancoDados
Return _cldBancoDados.RetornaDataReader(strQuery.ToString)
End Function

Public Function CarregaBandeira() As DataSet
Dim strQuery As New StringBuilder
strQuery.Append([Ô]Select Cod, Bandeira From t_Bandeira Order By Bandeira[Ô])
Dim _cldBancoDados As New cldBancoDados
Return _cldBancoDados.RetornaDataSet(strQuery.ToString)
End Function

Public Function Lista(ByVal strDescricao As String) As SqlDataReader [ô]Retorna dataset com o select da pesquisa (DGV)
Dim strQuery As String
strQuery = [Ô]Select data from t_TotalDia where Data=[ô][Ô] & strDescricao & [Ô][ô][Ô]
Dim _cldBancoDados As New cldBancoDados
Return _cldBancoDados.RetornaDataReader(strQuery)
End Function

Public Function ListaData(ByVal strDescricao As String) As DataSet [ô]Retorna dataset com o select da pesquisa (DGV)
Dim strQuery As New StringBuilder
strQuery.Append([Ô]Select * From t_TotalDia where cod like [ô]%[Ô] & strDescricao & [Ô]%[ô] Order by Data[Ô])
Dim _cldBancoDados As New cldBancoDados
Return _cldBancoDados.RetornaDataSet(strQuery.ToString)
End Function

Public Function ListarData(ByVal strDescricao As String) As SqlDataReader
Dim strQuery As String
strQuery = [Ô]Select cod from t_TotalDia where data=[ô][Ô] & strDescricao & [Ô][ô][Ô]
Dim _cldBancoDados As New cldBancoDados
Return _cldBancoDados.RetornaDataReader(strQuery)
End Function
End Class



Sei que existe algumas funções repetidas, mas no meio a correria as vezes esqueço de ler que já tenho determinada função!
MOUSER 03/11/2015 23:02:33
#453378
A partir da função Lista/Listar passo o resultado para a DGV ou Janela com textbox/Label!
MOUSER 03/11/2015 23:17:32
#453379
Tentei fazer da seguinte forma:
Citação:


Public Class frmPesqMes
Dim Meses As String
Private Sub CarregaDGV()
Meses = txtDataInicio.Text
Dim Mes As New clnDepCard
With dgv
.DataSource = Mes.ListaData(txtDataInicio.Text).Tables(0)
.AutoResizeColumns()
.Columns(0).HeaderText = CStr([Ô]Codigo[Ô])
.Columns(1).HeaderText = CStr([Ô]Valor Total[Ô])
.Columns(2).HeaderText = CStr([Ô]Valor Do Deposito[Ô])
.Columns(3).HeaderText = CStr([Ô]Data[Ô])
End With
If CInt(dgv.RowCount) = 0 Then
MsgBox([Ô]Não foi encontrado nenhum registro no mês [Ô] & Meses, MsgBoxStyle.Critical, [Ô]Data não encontrada[Ô])
txtDataInicio.Text = [Ô][Ô]
Else
txtDataInicio.Text = [Ô][Ô]
End If
End Sub

Private Sub btnPesquisar_Click(sender As Object, e As EventArgs) Handles btnPesquisar.Click
Try
If txtDataInicio.Text = [Ô]/[Ô] Then
MsgBox([Ô]Preencher campo dados[Ô], MsgBoxStyle.Critical, [Ô]Campo vazio[Ô])
Else
CarregaDGV()
End If
Catch ex As Exception
MsgBox([Ô]Erro na codificação[Ô], MsgBoxStyle.Critical, [Ô]CONTATE PROGRAMADOR[Ô])
End Try
End Sub
End Class



Só que errei nesta função na classe:

Citação:


Public Function ListaData(ByVal strDescricao As String) As DataSet [ô]Retorna dataset com o select da pesquisa (DGV)
Dim strQuery As New StringBuilder
strQuery.Append([Ô]Select * From t_TotalDia where cod like [ô]%[Ô] & strDescricao & [Ô]%[ô] Order by Data[Ô])
Dim _cldBancoDados As New cldBancoDados
Return _cldBancoDados.RetornaDataSet(strQuery.ToString)
End Function

Public Function ListarData(ByVal strDescricao As String) As SqlDataReader
Dim strQuery As String
strQuery = [Ô]Select cod from t_TotalDia where data=[ô]%[Ô] & strDescricao & [Ô]%[ô][Ô]
Dim _cldBancoDados As New cldBancoDados
Return _cldBancoDados.RetornaDataReader(strQuery)
End Function


Criando as tabelas:
Citação:


CREATE TABLE [dbo].[t_Debito](
[cod] [int] IDENTITY(1,1) NOT NULL,
[VALOR] [varchar](50) NULL,
[VALORDESC] [varchar](10) NOT NULL,
[BANDEIRA] [varchar] (45) NULL,
[DATA] [varchar] (13) NULL
) ON [PRIMARY]
GO

CREATE TABLE [dbo].[t_TotalDia](
[cod] [int] IDENTITY(1,1) NOT NULL,
[ValorTotal] [varchar](50) NULL,
[ValorDeposito] [varchar](50) NOT NULL,
[Data] [varchar] (13) NULL
) ON [PRIMARY]
GO



O que eu quero fazer é o seguinde, existe registro do dia 01/10/2015, 05/10/2015, 20/10/2015 e por ai vai,
primeiro passo:
Selecionar todos os registros que tenha no atributo data 10/2015 (Lembrando que a data estou salvando como string)

Segundo passo:
Selecionar um período de data, meios que criei e pesquisar a data inicial, pegar o cod (tanto cod da data inicial e data final) e ir somando e jogando na DGV ate completar o cod da data final
Página 1 de 5 [43 registro(s)]
Tópico encerrado , respostas não são mais permitidas