[C++]ADO en Quick Reports?

Pagina: 1
Acties:

  • evol
  • Registratie: November 2000
  • Laatst online: 22:42

evol

hello world

Topicstarter
Ben hier bezig met een applicatie in BCB6 icm SQL Server 2000. In de applicatie worden quick reports gebruikt. Werkt goed met de BDE, maar ik wil het met ADO opzetten. Als ik een TQuery (via BDE) aan de quick report als dataset toeken dan krijg ik een mooie report. Stuk of 20 regels met verschillende waarden.
Vervang ik de TQuery door een TADOQuery (met dezelfde sql, etc.) en zet ook de dataset van het report op tadoquery dan krijg ik stuk of 20 keer dezelfde regel.
Alleen het eerste record krijg ik dan te zien, en dan dus 20 keer ofzo.

Weet iemand waar ik de mist inga? Google levert weinig op, GoT search ook niet veel en ik zie zo niet waar ik nu fout ga.

/update
Als ik rechtermuisknop op me qreport doe in BCB, en dan preview kies, ziet het er wel uit zoals het hoort! Vrrrrrrreeemd :?

[ Voor 10% gewijzigd door evol op 29-01-2004 13:22 ]

Move along people. Nothing to see here.


  • evol
  • Registratie: November 2000
  • Laatst online: 22:42

evol

hello world

Topicstarter
*kick*
Hierop voortbordurend stuit ik op hetvolgende probleem met ADO en een QuickReport. Ik heb op het quick report een detailband met daarin wat textvelden waarin ik waarden uit de database in wil.

Nu heb ik de volgende stored procedure:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
CREATE PROCEDURE [rr_Verkoopbon]
    @vBegin int,
    @vEind int
AS

SELECT
v.VerkoopNr, v.AfleverDat, v.LevWijze, v.Valuta, v.Koers, v.KoersPer,
v.Opmerking,
r.DebNr, r.Naam as relNaam, r.Adres, r.Postcode, r.Plaats, r.TelefoonNr, r.FaxNr,
vd.Kleur, vd.Nieuw_Gebruikt, vd.DouaneStat, vd.Aantal,
b.BetWijz_Code, b.BetWijz_Oms,
mw.Naam as mwNaam,
l.Land_Naam,
m.Merk, m.Type
FROM
Verkoop v
INNER JOIN Relatie r ON (v.RelatieId = r.RelatieId)
INNER JOIN Verkoop_Detail vd ON (v.VerkoopNr = vd.VerkoopNr)
INNER JOIN BetalingsWijze b ON (v.BetWijz_Code = b.BetWijz_Code)
INNER JOIN Medewerker mw ON (v.MedewerkId = mw.MedewerkId)
INNER JOIN Land l ON (r.Land_Nummer = l.Land_Nummer)
INNER JOIN Model m ON (vd.ModelId = m.ModelId)
WHERE 
(v.VerkoopNr BETWEEN @vBegin AND @vEind) AND v.VerkoopStat <> 'A'
GO


Die roep ik in c++ aan met:
code:
1
2
3
4
5
6
start = 1;
eind = 3;
storedprocedure->Close();
storedprocedure->Parameters->ParamByName("@vBegin")->Value = start;
storedprocedure->Parameters->ParamByName("@vEind")->Value = eind;
storedprocedure->Open();


Als ik nu in de Query Analyzer mijn stored procedure aanroep (met storedprocedure 1,3) dan levert dit wat ik verwacht.
Doe ik in mijn applicatie het quick report openen, dan zie ik niet dezelfde resultaten als in de query analyzer. Zo krijg ik maar 2 v/d 3 records te zien, het 1e record mis ik....

Weet iemand hoe dit komt?

/edit:
Bij testen met een grotere range blijkt dat de eennalaatste en de laatste pagina hetzelfde worden ingevuld, terwijl ze wel verschillend zijn. In query analyzer dus goed, op quick report wordt eennalaatste gelijk aan de laatste...
beats me :?

[ Voor 10% gewijzigd door evol op 25-02-2004 12:47 ]

Move along people. Nothing to see here.