A sad nešto sasvim drugačije: C# 2008 Exp i Crystal Reports

Nikola Knežević RSS / 27.10.2008. u 10:24

Poštovani čitatelji bloga B92,

Od mene ste navikli da čitate teme koje su uglavnom bile u vezi bogoslovljem, sociologijom religije, antropologijom.

Ovog puta sledi nešto sasvim drugačije. Ako je neko od Vas pogledao u moj profil mogao je videti da se pored mog angažmana na fakultetu bavim još i razvojem softverskih standalone i web aplikacija. Evo jednog posta posvećenog toj temi. Tekst predstavlja kratki i jednostavni tutorial za upotrebu Crystal Reports tool-a (verzija 11) u C# 2008 Express razvojnom okruženju. Sa obzirom na to da se na netu teško može naći sličan tutorial, evo kako ovaj alat možemo koristiti sa 2008 express okruženjem programskog jezika C#.

U Solution Explorer-u po References uključite dva dll-a. AxInterop.CRVIEWER9Lib i Interop.CRAXDRT
Zatim u Toolbox-u, klikon na Choose items... potražite dll pod nazivom AxCRVIEWER9Lib.AxCRViewer9

slika1.png 

Sada ste učinili sve što je potrebno da bi počeli sa pisanjem koda koji će pokrenuti vaš prethodno napravljeni izveštaj - rpt datoteku.

Za prikazivanje rpt fajla u vašem programu potrebno je dodati samo nekoliko sledećih linija koda:

// Upit koji ce se izvršiti u vaše izveštaju
string strSQL;

Otvaranje konekcije sa bazom podataka (ODBC tip konekcije)

Conn objekat je public static objekat koji se u ovom primeru nalazi u DataAccessLayer-u

Dal.Conn.Open();

Deklarisanje nove instance CRAXDRT.Application objekta

CRAXDRT.Application crystal = new CRAXDRT.Application();
CRAXDRT.Report report = new CRAXDRT.Report();
CRViewer.DisplayBorder = false;
CRViewer.DisplayTabs = false;
CRViewer.EnableDrillDown = false;

Putanja vašeg izveštaja

string report_path = Environment.CurrentDirectory + @"izvestajinarucbenica.rpt";
report = crystal.OpenReport(report_path, 1);
report.DiscardSavedData();
report.SQLQueryString = strSQL;
CRViewer.ReportSource = report;

CRViewer.ViewReport();
Application.DoEvents();
CRViewer.Zoom(100);
Application.DoEvents();

Zatvranje veze sa bazom podataka:
Dal.Conn.Close();

slika3.png

Voilla: To je sve što trebate da uradite da bi u vašoj aplikaciji prikazivali Crystal Report - izveštaje.

 

 

 

Evo i kako to izgleda:

slika4.png 



Komentari (19)

Komentare je moguće postavljati samo u prvih 7 dana, nakon čega se blog automatski zaključava

medjutim92 medjutim92 10:58 27.10.2008

vr'

:)

znao sam da ce biti zanimljivije kako se uvode novi blogeri, ali ovo je iznad mojih ocekivanja :)
Nikola Knežević Nikola Knežević 11:04 27.10.2008

Re: vr'

Heheh, rekao sam da sledi nesto sasvim drugacije. :))))
Brooklyn Brooklyn 14:00 27.10.2008

*

postoji Crystal Reports For Dummies, mada se odnosi na stariju verziju.
Nikola Knežević Nikola Knežević 14:06 27.10.2008

Re: *

Da znam, nisam citao knjigu. Od pre nekoliko meseci sam presao na C# express 2008 sa visual studija 2005 i za njega nalost nema ugradjenog CR u development enviroment. To se mora raditi pesaka ali je zanimljivo da nisam nigde na netu nasao primer za to, a sto se free alata slicne namene tice, tu je veoma slaba ponuda.
Filip2412 Filip2412 14:30 27.10.2008

Re: *

Nikola, bas super da si otvorio ovakvu temu.

Inace ja sam vise kao neki support & maintennace ali napravio sam nekoliko aplikacija C# MS SQL Server koje sljakaju dobro i ljudi ih koriste. SQL Server 2000 i Crystal Reports koristim jako dugo, poceo sa VB6.0 a sada C#. Imam Visual Studio 2005 tako mi nikad nije zatrebalo da radim sa Express verzijom.

Preporuka!





Nikola Knežević Nikola Knežević 14:57 27.10.2008

Re: *

Bilo je vreme malo da prodiskutuje o drugoj strani mog personality-a. :))))

Ja sam sa isto poceo sa VB6 pre nekih osam godina. Nakon toga sam presao na VB.Net u tome radio godinama, dok sam web aplikacije radio (a i danas radim) u PHP/AJAX/MySQL varijanti. Pre godinu dana sam presao na C# i od tada sve radim u tom razvojnom alatu.
dusanj92 dusanj92 17:06 28.10.2008

Re: *

VB6 pre nekih osam godina

VB.Net u tome radio godinama,

Pre godinu dana sam presao na C#

Pa koliko ti imas godina? Ja ako sve ovo saberem plus skolovanje .... = 74
:)
Nikola Knežević Nikola Knežević 17:44 28.10.2008

Re: *

:)))))), imam 31, napunio pre neki dan. Programiranje sam ucio usput uz skolovanje, osim toga imao sam tu srecu da nekoliko godina dok sam studirao nisam morao da radim, vec je tu ulogu preuzela moja supruga, pa sam imao vremena i za jedno i za drugo.
dusanj92 dusanj92 22:02 28.10.2008

Re: *

Svaka castt, samo sam se salio. Inace i ja sam programer. Sturdirao sam u Americi i trenutno imam super posao. Radim za jednu malu grupu totalno sam tako da imam svu slobodu kreiranja. Radio sam ranije u velikim preduzecioma kao telefonska kompanija AT&T ili DataDeluxe koji kriju data processing centar malte ne ispod zemlje i ko nezna gde je nema sanse da ga nadje jer ne postoji nigde tabla niti ikakva oznaka a sve u cilju zastite podataka. U velikim kompanijama je nemoguce uraditi bilo sta po svojoj volji tako da sam se totalno razocarao u izbor karijere. Da promenis samo jedno slovo u programu treba bar 3 nedelje planiranja i silna odobrenja. Sve to kao Srbina mene je nerviralo. Najzad sa slobodom koju imam na trenutnom poslu sam vratio sebi volju za programiranjem.
Nikola Knežević Nikola Knežević 15:01 29.10.2008

Re: *

O pa ti si radio bas u velikim sistemima, respect Bas mi je drago da si u elementu koji te cini zadovoljnim. Mislim da je to jako vazno, ne samo za ovaj nego bilo koji drugi posao, a to je da nas on ispunjava i cini srecnim.
alselone alselone 14:24 27.10.2008

Express

MS je uradio veliku stvar izdavanjem Express edicija. C# (ili VB.net) Express + SQL Express (jeste da je osakacen) su sasvim dovoljni za kreiranje sasvim pristojnih aplikacija.
Nikola Knežević Nikola Knežević 14:59 27.10.2008

Re: Express

Da, upravo tako, moze mnogo da se uradi u Express varijanti a uz to je potpuno legalno. SQL Express je sa svoja 4GB memorije respektabilna baza koja moze da primi zavidan broj informacija. Sve u svemu odlican izbor za manje aplikacije. Opet ako nekom treba veca baza a besplatna tu je postgreSQL pa vozi misko.
alselone alselone 16:23 27.10.2008

Re: Express

Ne smemo zaboraviti ni ASP koji je stvarno fantastican, sama cinjenica da imam kompletnu .net arhitekturu u pozadini moje web aplikacije otvara mnogo lepih mogucnosti. Jedina mana je sto ne postoji Server 2008 express pa da mozemo kompletno da poteramo web aplikaciju za dz.
Nikola Knežević Nikola Knežević 17:25 27.10.2008

Re: Express

ASP ima odlicne mogucnosti, iako je malo spor za moj ukus, pa kad su web aplikacije u pitanju radim sve u PHP-u koji je brz, pouzdan i hostuje se na mnogo jeftinijim serverima. Kad se jos tu doda neki dobar frejmwork, pa AJAX onda aplikacija zaista dobije svoju funkcionalnost.
alselone alselone 23:25 27.10.2008

A do kog nivoa ste Vi stigli?

subwire subwire 08:03 28.10.2008

Re: A do kog nivoa ste Vi stigli?

Chief Executive

% letter
letter: Command not found.
% mail
To: ^X ^F ^C
% help mail
help: Command not found.
% damn!
!: Event unrecognized
% logout

Ubedljivo najjači nivo.
Nikola Knežević Nikola Knežević 09:35 28.10.2008

Re: A do kog nivoa ste Vi stigli?

Hahahah, ovo bi mi najviсе odgovaralo:

% zmail jim
I need a "Hello, world." program by this afternoon.
Jaril Jaril 13:29 28.10.2008

О,

па честитам ВИП!!!!


ПС: Оде и он. )))
Nikola Knežević Nikola Knežević 14:19 28.10.2008

Re: О,

Hvala, hvala Jarile.

Arhiva

   

Kategorije aktivne u poslednjih 7 dana