[ASP.NET/C#/MySql]Crystal Report linken aan dataset

Pagina: 1
Acties:
  • 485 views sinds 30-01-2008
  • Reageer

  • Razr
  • Registratie: September 2005
  • Niet online
Ik moet voor een webapplicatie door middel van een querie wat gegevens uit een MySQL database halen en hiervan een stickervel printen. Nu was ik bezig met pdfjes maar toen las ik over crystal reports. En aangezien ik hier toch de beschikking heb over Visual Studio leek mij dit vele malen geschikter.

Nu ben ik dus aan het stoeien geweest om data vanuit een MySQL db in een crystal report te krijgen.

Onderstaande code gebruik ik nu:
C#:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
    protected void CrystalReportViewer1_Load(object sender, EventArgs e)
    {
        //Verbinding maken met server mbv string uit de web.config
        MySqlConnection conn = new MySqlConnection();
        conn.ConnectionString = ConfigurationManager.ConnectionStrings["MySqlServer"].ConnectionString;

        //command om de data uit de db te halen, query wordt dynamisch maakt nu niet uit
        MySqlCommand cmd = new MySqlCommand("SELECT artikelNummer,omschrijving,extraInfo,merk FROM `tbl_kernassortiment`",conn);

        conn.Open();
        
        // Create a Dataset and using DataAdapter to fill it
        //dataadapter maken en deze vervolgens koppelen aan het command
        MySqlDataAdapter adap = new MySqlDataAdapter();
        adap.SelectCommand = cmd;
        
        //nieuw dataset aanmaken vanuit stickervelset (dat is een .xsd bestand DataSet)
        StickervelSet stickerDB = new StickervelSet();
        stickerDB.Clear();
        //deze vervolgens vullen
        adap.Fill(stickerDB, "ArtikelInfo");
    }


Tot hier gaat het allemaal goed, de dataset stickerDB wordt netjes gevuld. Nu moet ik de dataset nog aan de crystalreportviewer hangen toch? Daar vond ik op internet de volgende code voor:

C#:
1
2
3
4
5
6
// Create a CrystalReport1 object 
CrystalReport1 myReport = new CrystalReport1(); 
// Set the DataSource of the report 
myReport.SetDataSource(custDB); 
// Set the Report Source to ReportView 
crystalReportViewer1.ReportSource = myReport; 


Nu snap ik alleen niet waar hij CrystalReport1 vandaan haalt? Ik had al de ReportClass geprobeerd maar als ik daar de SetDataSource() van gebruik en ik geef stickerDB mee krijg ik de melding:
Tekenreeksverwijzing is niet voor een exemplaar van een String ingesteld.

De pagina waar ik vanaf heb gekeken is overigens deze

De vraag is dus eigenlijk hoe ik de dataset moet koppelen aan mijn crystelreportviewer1

Verwijderd

heb je crystalReportViewer1 in je Designer staan? kan je van uit de designer niet de wizzard opstarten?

Ik heb van de week gewerkt met een DataGridViewer in VS2005, deze heeft gewoon een wizzard, volgens mij kan die bijna het zelfde :)

[ Voor 3% gewijzigd door Verwijderd op 07-06-2007 09:48 ]


  • Razr
  • Registratie: September 2005
  • Niet online
Ja die wizard is er inderdaad. Alleen met deze wizard kan ik alleen de 'Report Source' instellen. En dat is het .rpt bestand. Dus het sjabloon van het report.
Ik moet alleen een manier vinden om het sjabloon te vullen met de dataset stickerDB.

  • sopsop
  • Registratie: Januari 2002
  • Laatst online: 01-12 14:29

sopsop

[v] [;,,;] [v]

Kijk hier eens: http://dotnetjunkies.com/...D8-ABE0-40CA588D33D3.dcik
Die CrystalReport1 is het .rpt bestand genaamd CrystalReport1.rpt

(dat kun je overigens ook in dit plaatje zien)

[ Voor 28% gewijzigd door sopsop op 07-06-2007 11:02 ]


  • Razr
  • Registratie: September 2005
  • Niet online
sopsop schreef op donderdag 07 juni 2007 @ 11:00:
Kijk hier eens: http://dotnetjunkies.com/...D8-ABE0-40CA588D33D3.dcik
Die CrystalReport1 is het .rpt bestand genaamd CrystalReport1.rpt

(dat kun je overigens ook in dit plaatje zien)
Klopt inderdaad, alleen die .rpt bestand kan ik niet benaderen. Ik kan dat object dus niet maken.. Waarschijnlijk komt het omdat het vb gemaakt is als een winforms app en dit een webapp is ? Intellisense geeft ook mijn .rpt niet aan ?!

  • sopsop
  • Registratie: Januari 2002
  • Laatst online: 01-12 14:29

sopsop

[v] [;,,;] [v]

Heb je het .rpt bestand wel toegevoegd aan je solution?

  • Razr
  • Registratie: September 2005
  • Niet online
sopsop schreef op donderdag 07 juni 2007 @ 11:23:
Heb je het .rpt bestand wel toegevoegd aan je solution?
Niet toevoegd, gewoon aangemaakt met 'Add new item' wel op deze solution. En hij staat ook gewoon rechts in de lijst. Dus dat moet goed zijn, ik weet geen andere manier om iets toe te voegen.

  • Razr
  • Registratie: September 2005
  • Niet online
Zoals ik het nu bekijk zit de fout in het toewijzen van de dataset aan het crystal report. Waarschijnlijk gaat het report ervan uit dat deze gevuld wordt vanuit een database. Maar mijn report moet gevuld worden vanuit een dataset.

Ik kan het report niet rechtstreeks vullen omdat er geen support voor mysql is bij het maken van een report. Via een dataset kan het wel.

Nu moet ik dus aangeven dat de data geladen moet worden uit de dataset..

Iemand die hier meer verstand van heeft dan ikzelf ? :+

  • Razr
  • Registratie: September 2005
  • Niet online
klein kickje :|
Pagina: 1