PREENCHER DATASET COM DATAREADER
Boa Tarde!
Bom, estou com a seguinte duvida, presciso fazer um relatorio, e neste relatorio pegar dados de duas tabelas.
Até ai tudo bem, o problema é passar os dados consultados ao dataset, tentei um exemplo que o tecla mandou de um recibo com crystal, mas não consigo jogar os dados do datareader ao dataset e gerar o relatorio.
Alguem tem um exemplo de como passar os dados do datareader para determinados campos do dataset?
Obs: utilizo mais de uma tabela na consulta.
Obrigado.
Public FBconn As New FbConnection
Public fbCmd As FbCommand
Public Dblocal As String = LeArquivoINI(nome_arquivo_ini, [Ô]CAMINHO[Ô], [Ô]Bd[Ô], [Ô][Ô])
Public strcon As String = [Ô]User=SYSDBA;Password=masterkey;Database=[Ô] + Dblocal + [Ô];DataSource=localhost;Port=3050;Dialect=3;Charset=NONE;Role=;Connection lifetime=0;Connection timeout=15;Pooling=True;Packet Size=8192;Server Type=0[Ô]
Public DA As FbDataAdapter
Public DR As FbDataReader
Public FBconexao As Boolean
o que esta no comando do botão.
Dim sql As String
Dim DTP_INI As Date
Dim DTP_FIN As Date
DTP_INI = Format(DTP_INICIAL.Value, [Ô]MM/dd/yyyy[Ô])
DTP_FIN = Format(DTP_FINAL.Value, [Ô]MM/dd/yyyy[Ô])
FbConecta()
sql = [Ô]SELECT FUNCIONARIOS.DRT, FUNCIONARIOS.NOME, REFEICAO.DATA, REFEICAO.HORA, REFEICAO.STATUS FROM REFEICAO, FUNCIONARIOS WHERE REFEICAO.FUNCIONARIO = FUNCIONARIOS.CODIGO AND REFEICAO.DATA>= [ô][Ô] & DTP_INI & [Ô][ô] and REFEICAO.DATA <= [ô][Ô] & DTP_FIN & [Ô][ô] ORDER BY FUNCIONARIOS.DRT,REFEICAO.HORA[Ô]
fbCmd = New FbCommand(sql, FBconn)
DR = fbCmd.ExecuteReader
[Ô] aqui iria o codigo do dataset.[Ô]
axo que ja ajuda isto neh
Abraços
[txt-color=#007100]fbCmd = New FbCommand(sql, FBconn)[/txt-color]
...você pode utilizar um objeto DataAdapter afim que preencher o DataSet.
Exemplo:
Dim da As New FbDataAdapter([Ô]SELECT...[Ô], FBconn)
Dim ds As New DataSet
da.Fill(ds)
Obrigado.
\\-----------------------------------------------------------------------------------
Citação:
Me.Cursor = Cursors.WaitCursor
Dim sql As String
Dim ds As New DataSet
Dim DTP_INI As String
Dim DTP_FIN As String
DTP_INI = Format(DTP_INICIAL.Value, [Ô]MM/dd/yyyy[Ô])
DTP_FIN = Format(DTP_FINAL.Value, [Ô]MM/dd/yyyy[Ô])
[ô] Faz a conexão com o banco de dados e a Consulta.
FbConecta()
sql = [Ô]SELECT FUNCIONARIOS.DRT, FUNCIONARIOS.NOME, REFEICAO.DATA, REFEICAO.HORA, REFEICAO.STATUS FROM REFEICAO, FUNCIONARIOS WHERE REFEICAO.FUNCIONARIO = FUNCIONARIOS.CODIGO AND REFEICAO.DATA>= [ô][Ô] & DTP_INI & [Ô][ô] and REFEICAO.DATA <= [ô][Ô] & DTP_FIN & [Ô][ô] ORDER BY FUNCIONARIOS.DRT,REFEICAO.DATA,REFEICAO.HORA[Ô]
[ô]Utiliza o objeto DataAdapter
Dim da As New FbDataAdapter(sql, FBconn)
[ô]passa os dados do FbDataAdapter e insere no dataset e no seu datatable
da.Fill(ds, [Ô]REFEICOES[Ô])
[ô]funções para exibir o relatorio.
Dim cr As New REFEICOES
cr.SetDataSource(ds)
RELATORIO.CrystalReportViewer1.ReportSource = cr
RELATORIO.Show()
FbDESConecta()
Me.Dispose()
Me.Cursor = Cursors.Default