1. Trang chủ >
  2. Công Nghệ Thông Tin >
  3. Kỹ thuật lập trình >

C# Crystal Reports sample databse

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.18 MB, 71 trang )


SQL command for creating tables are follows :

CREATE TABLE [dbo].[OrderMaster] (

[OrderMaster_id] [int] NOT NULL ,

[OrderMaster_date] [datetime] NULL ,

[OrderMaster_customername] [varchar] (50),

[OrderMaster_createduser] [varchar] (50)

) ON [PRIMARY]

CREATE TABLE [dbo].[OrderDetails] (

[OrderDetails_id] [int] NOT NULL ,

[OrderDetails_masterid] [int] NULL ,

[OrderDetails_productid] [int] NULL ,

[OrderDetails_qty] [int] NULL

) ON [PRIMARY]

CREATE TABLE [dbo].[Product] (

[Product_id] [int] NOT NULL ,

[Product_name] [varchar] (50) ,

[Product_price] [numeric](18, 0) NULL

) ON [PRIMARY]



Enter some data to the tables :

From the following pictures you can see some data in the table for C# - Crystal

Reports tutorial



Order Master Table Data



Order Details Table Data



Product Table Data



2. C# Crystal Reports step by step



A step by step tutorial for beginners who is creating their Crystal Reports for

the first time in C#.

All C# Crystal Reports Tutorial in this website is based on the following

database - crystaldb. So before you begin this section , please take a look at the

database structure of crystaldb - Click Here C# crystaldb



Here we are going to create a new Crystal Reports in C# from Product table in

the above mentioned database crystalDB. The Product Table has three fields

(Product_id,Product_name,Product_price) and we are showing the whole data

from Product table to the C# - Crystal Reports project.

Open Visual Studio .NET and select a new CSharp Windows project.



Now you will get the default Form1.cs.

From the main menu in Visual Studio C# project select PROJECT-->Add New

Item . Then Add New Item dialogue will appear and select Crystal Reports

from the dialogue box.



Select Report type from Crystal Reports gallery.



Accept the default settings and click OK.

Next step is to select the appropriate connection to your database (here

crstaldb). Here we are going to select OLEDB Connection for SQL Server to

connect Crystal Reports in C#.

Select OLE DB (ADO) from Create New Connection .



Select Microsoft OLE DB Provider for SQL Server .



The next screen is the SQL Server authentication screen for connecting to the

database - crystalDB. Select your Sql Server name , enter userid , password and

select your Database Name .



Click next , Then the screen shows OLE DB Property values , leave it as it is ,

and then click finish button.



After you click the finish button , the next window you will get your Server

name under OLEDB Connection, from there selected database name

(Crystaldb) and click the tables , then you can see all your tables from your

database.

From the tables list double click the Product table then you can see the Product

table will come in the right side list.



Click Next Button

Select all fields from Product table to the right side list .



Click Finish Button. Then you can see the Crystal Reports designer window in

your C# project. In the Crystal Reports designer window you can see the

selected fields from Product table. You can arrange the field Objects and design

of the screen according your requirements. After that your screen is look like

the following picture.



Now the designing part is over and the next step is to call the Crystal Reports in

your C# application and view it through Crystal Reports Viewer control in C#.

Select the default form (Form1.cs) you created in C# and drag a button and a

CrystalReportViewer control to your form .



After you drag the CrystalReportViewer to your form , it will look like the

following picture.



You have to include CrystalDecisions.CrystalReports.Engine in your C#

Source Code.

using CrystalDecisions.CrystalReports.Engine;

Copy and paste the following source code and run your C# project



using System;

using System.Windows.Forms;

using CrystalDecisions.CrystalReports.Engine;

namespace WindowsApplication1

{

public partial class Form1 : Form

{

public Form1()

{

InitializeComponent();

}

private void button1_Click(object sender, EventArgs e)

{

ReportDocument cryRpt = new ReportDocument();

cryRpt.Load(PUT CRYSTAL REPORT PATH

HERE\\CrystalReport1.rpt");

crystalReportViewer1.ReportSource = cryRpt;

crystalReportViewer1.Refresh();

}

}

}



NOTES:

cryRpt.Load(PUT CRYSTAL REPORT PATH HERE\\CrystalReport1.rpt");

The Crystal Reports file path in your C# project file location, there you can see

CrystalReport1.rpt . So give the full path name of Crystal Reports file like

c:\projects\crystalreports\CrystalReport1.rpt

When you run the source code you will get the report like the following picture.



When you click the button, the application will ask the username and password.

Later in this tutorial you can find how to avoid asking username and password 3.C# Crystal Reports Dynamic Logon parameters

The following section describes how to pass the logon information like Server

Name , database Name , User Name and password dynamically to the Crystal

Reports from C# applications.

When you run the previous programs in this C# tutorial , the Crystal Reports

asks the Username and Password every time you run the Crystal Report. This

section explains how to avoid the dialogue box asking username and password

at runtime on Crystal Reports login . In this section we are passing User ID ,

Password , Server Name and Database Name dynamically to Crystal Reports

from C# .

All C# Crystal Reports Tutorial in this website is based on the following

database - crystaldb. So before you begin this section , please take a look at the

database structure of crystaldb - Click Here C# crystaldb

If you are new to Crystal Reports and do not know how to create Crystal

Reports from C# , please take a look at the section step by step tutorial for

creating a Crystal Reports from C#.

In many situations dynamically passing the logon parameter fields are very

useful , for example if you develop a database project in a test server

environment and later you have to migrate it to other server , in these situations

it is better to give these information dynamically to Crystal Reports .

In step by step tutorial for creating a Crystal Reports from C# - we created a

report selecting all data from the Product table . There is no chance to change

the server name or any other information on runtime in that case, because it is a

static report and it will asks username and password every time you run the

Crystal Reports . Here we are passing Server Name , UserID and Password

dynamically to the Crystal Reports from our C# program

Here we use Crystal Reports ConnectionInfo class for passing connection

information.

ConnectionInfo crConnectionInfo = new ConnectionInfo();



Select the default form (Form1.cs) you created in C# and drag a button and a

CrystalReportViewer control to your form .

You have to include CrystalDecisions.CrystalReports.Engine in your C#

Source Code.

using CrystalDecisions.CrystalReports.Engine;

using CrystalDecisions.Shared;

Copy and paste the following source code and run your C# project



using

using

using

using



System;

System.Windows.Forms;

CrystalDecisions.CrystalReports.Engine;

CrystalDecisions.Shared;



namespace WindowsApplication1

{

public partial class Form1 : Form

{

public Form1()

{

InitializeComponent();

}

private void button1_Click(object sender, EventArgs e)

{

ReportDocument cryRpt = new ReportDocument();

TableLogOnInfos crtableLogoninfos = new TableLogOnInfos();

TableLogOnInfo crtableLogoninfo = new TableLogOnInfo();

ConnectionInfo crConnectionInfo = new ConnectionInfo();

Tables CrTables ;

cryRpt.Load("PUT CRYSTAL REPORT PATH

HERE\CrystalReport1.rpt");

crConnectionInfo.ServerName = "YOUR SERVER NAME";

crConnectionInfo.DatabaseName = "YOUR DATABASE NAME";

crConnectionInfo.UserID = "YOUR DATABASE USERNAME";

crConnectionInfo.Password = "YOUR DATABASE PASSWORD";

CrTables = cryRpt.Database.Tables ;

foreach (CrystalDecisions.CrystalReports.Engine.Table

CrTable in CrTables)

{

crtableLogoninfo = CrTable.LogOnInfo;

crtableLogoninfo.ConnectionInfo = crConnectionInfo;

CrTable.ApplyLogOnInfo(crtableLogoninfo);



Xem Thêm
Tải bản đầy đủ (.pdf) (71 trang)

Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×