Toon posts:

[c#.NET] Crystal reports Database login

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

Verwijderd

Topicstarter
Ik probeer met de zogenaamde "push methode" en report te generen in een windows applicatie. Er wordt een connectie met de db gemaakt, de gegevens worden eruit gevist en deze dataset wordt aan een report toegevoegd. Vervolgens wil ik dit report tonen in een reportviewer en dan krijg ik pop up met als titel: Database Login. Invulvelden zijn Server-name / Database / Login ID / Password. Als ik de velden invul krijg ik de melding: "Login failed. Please try again". Ik begrijp niet waar het fout loopt, de waarden in de dataset zijn gewoon goed. Als ik het vervolgens via de pull methode probeer dus direct een report uitlees uit de db werkt het wel gewoon en hoef ik ook niet in te loggen. Wat doe ik fout?

  • whoami
  • Registratie: December 2000
  • Laatst online: 14:39
Je moet het als volgt doen:
-creeër een instance van je report
-zet de datasource
-zeg dan aan de viewer dat je dit report wilt zien:

code:
1
2
3
4
5
6
7
8
9
DataSet1 d = new DataSet1();
            
sqlDataAdapter1.Fill (d);
        
CrystalReport1 c = new CrystalReport1();
                                    
c.SetDataSource (d);
            
crystalReportViewer1.ReportSource = c;


Bij het maken van je report, design je nl. gewoon het report. Je kan dan niet gewoon zeggen aan je viewer: 'mijn reportsource is dat report', want die instance bevat nog geen data.

[ Voor 20% gewijzigd door whoami op 03-06-2005 11:33 ]

https://fgheysels.github.io/


Verwijderd

Topicstarter
Okay, misschien moet ik wat meer uitleg geven van wat ik precies gedaan heb. Ik heb een DataSet1.xsd aangemaakt en daar de velden aan toegevoegd die ik wil gebruiken op m'n report. Vervolgens heb ik die ds aan m'n rapport gekoppeld en de velden die getoond moeten worden op het rapport gesleept. Vervolgens probeer ik met de volgende code die velden te vullen:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
string sql = "SELECT * FROM TBL_ARTIKEL WHERE (artikel_id > 100)";
SqlConnection con = new SqlConnection(connectionstring);
SqlDataAdapter da = new SqlDataAdapter(sql,con);

DataSet ds = new DataSet();
            
da.Fill(ds);
        
CrystalReport6 cr6 = new CrystalReport6();

cr6.SetDataSource(ds);

crystalReportViewer1.ReportSource = cr6;


Vervolgens krijg ik dus die db login melding...

  • whoami
  • Registratie: December 2000
  • Laatst online: 14:39
Hmm, normaal gezien zou je, als je die code gebruikt die login niet mogen krijgen.

Echter, kan het niet zijn dat je dat krijgt, omdat je uw report niet bind aan een DataSet1 (jouw typed dataset dus) ?

https://fgheysels.github.io/


Verwijderd

Topicstarter
whoami schreef op vrijdag 03 juni 2005 @ 11:54:
Hmm, normaal gezien zou je, als je die code gebruikt die login niet mogen krijgen.

Echter, kan het niet zijn dat je dat krijgt, omdat je uw report niet bind aan een DataSet1 (jouw typed dataset dus) ?
Vaag, nee sorry, ik had even met de code zitten klooien, ook als ik DataSet1 ds = new DataSet1(); gebruik dan gaat het fout. Het rare is dat ik ook niet langs het scherm kom. Boven in het scherm staat welke tabel er gebruikt worden, de server die ik aanroep gaat via ip en daar vul ik dus het ip in zonder \\ of iets dergelijks. Database is gewoon de naam van de db en bij user vul ik sa in pass is blank... Vreemd inderdaad, heb al het hele inet afgestroopt maar geen enkelen oplossing lijkt te werken :|

  • whoami
  • Registratie: December 2000
  • Laatst online: 14:39
Normaal gezien moet jouw report gevuld zijn als je het zo doet.
Ik heb net ff een simpel testje gedaan, en bij mij werkt het gewoon.

Ik heb wel, om het ff snel te doen, m'n data-adapter op m'n form gesleept enzo, maar dat zou niets mogen uitmaken.

Misschien heeft jouw DataTable waar de gegevens zich in bevinden wel een andere naam, dan waar het report naar verwijst ?

https://fgheysels.github.io/


Verwijderd

Topicstarter
whoami schreef op vrijdag 03 juni 2005 @ 12:09:
Normaal gezien moet jouw report gevuld zijn als je het zo doet.
Ik heb net ff een simpel testje gedaan, en bij mij werkt het gewoon.

Ik heb wel, om het ff snel te doen, m'n data-adapter op m'n form gesleept enzo, maar dat zou niets mogen uitmaken.

Misschien heeft jouw DataTable waar de gegevens zich in bevinden wel een andere naam, dan waar het report naar verwijst ?
is het een windows app? Ik begrijp er echt helemaal nix van, ben er ook al meer als een dag mee bezig en het begint een beetje irri te worden.

EDIT:
Op een andere pc doet hij het dus wel... Een hele dag van m'n tijd vern##kt maar goed, ik ben blij dat het nu werkt :)

[ Voor 13% gewijzigd door Verwijderd op 03-06-2005 13:07 ]

Pagina: 1