2010-07-31 2 views
0

보고서를 생성해야하는 응용 프로그램이 있습니다. 그러나 쿼리를 기반으로 CrystalReport를 사용하여 보고서를 생성하는 방법을 알지 못합니다. 내 선택 쿼리에서 반환 된 값을 보여주는 데이터베이스에서 보고서를 생성해야한다고 가정 해 봅시다. 전에 Crystal Reports를 사용 해본 적이 없기 때문에이 기사를 처음 접했습니다.C#을 사용하여 CrystalReport 및 저장 프로 시저 질문

모두에게 감사 :

편집 :

ConnectionString myConnString = new ConnectionString(); 
string connString = myConnString.getConnectionString(); 
SqlConnection connSearch = new SqlConnection(connString); 
connSearch.Open(); 

SqlCommand cmdLoad = new SqlCommand("Search", connSearch); 
cmdLoad.CommandType = CommandType.StoredProcedure; 

cmdLoad.Parameters.Add(new SqlParameter("@AccountID", currentUser)); 
cmdLoad.Parameters.Add(new SqlParameter("@PeriodID", " ")); 
cmdLoad.Parameters.Add(new SqlParameter("@PriceID", " ")); 
cmdLoad.Parameters.Add(new SqlParameter("@ExpenseID", " ")); 
cmdLoad.Parameters.Add(new SqlParameter("@InventoryID", " ")); 
cmdLoad.Parameters.Add(new SqlParameter("@ProductInID", " ")); 
cmdLoad.Parameters.Add(new SqlParameter("@ProductOutID", " ")); 
cmdLoad.Parameters.Add(new SqlParameter("@PeriodMonth", periodMonth.Trim().ToUpper())); 
cmdLoad.Parameters.Add(new SqlParameter("@PeriodYear", periodYear)); 

SqlDataReader read = cmdLoad.ExecuteReader(); 

DataSet ds = new DataSet(); 
DataTable dt = new DataTable("Results"); 
ds.Tables.Add(dt); 
ds.Load(read, LoadOption.PreserveChanges, ds.Tables[0]); 


CrystalReport1 crystal = new CrystalReport1(); 
crystal.SetDataSource(ds); 
crystalReportViewer1.ReportSource = crystal; 

connSearch.Close(); 
connSearch.Dispose(); 

그러나, 항상 말하는 예외를 생성하기 때문에 여기에 뭔가 잘못이있을 것 같다

지금까지이 내가 가진 무엇 보고서에 crystal.SetDataSource(ds); 행을 가리키는 테이블이 없음을 나타냅니다.

아무도 도와주세요? :)

+0

물론이 질문은 전체 사이트에서 CrystalReports와 관련된 질문으로 제목이 정말 독특합니다. (후손을 위해 :이 제목은 "CrystalReport question"입니다.) – Timwi

답변

1

Crystal Reports는 매우 유용한 도구이며 전세계의 사무실에서 널리 사용됩니다. 당신은 분명히 그것에 친숙 해지는 호의를 베풀고 있습니다. 당신이있을 때 실제로 사용하기가 쉽습니다. :)

CrystalReportViewer는 사용자 친화적 인 인터페이스를 생성하고 보고서를 일반적으로 사용되는 모든 형식으로 내보낼 수있는 기능을 제공합니다.

은 귀하의 질문에 대답하려면 : 닷넷은 당신에게 당신이 크리스탈 보고서 클라이언트에서 사용자가 코드 숨김을 통해 그것을 할 수있는 것이다 것을 제외하고 단지로 구축 할 수있는 능력 및 보고서를 볼 수 있습니다

.

만약 내가 당신이라면 white papers을 통해 처음보고하는 것에 익숙 할 것입니다.

데이터 세트에 데이터 소스로 데이터 세트를 지정 했더라도 데이터 세트에 테이블이 없거나 보고서에 표시 할 필드를 선택하지 않았 더라면 오류가 발생할 수 있습니다.

데이터 집합을 보고서에 바인딩하고 테이블이 있는지 여부를 확인하기 전에 데이터 집합을 디버깅 해보십시오.

0

좋아, 정말 대답은 아니지만, 내 조언은 더 깊어지기 전에 Crystal Reports를 덤프하는 것입니다. 단지 고통의 세계 일뿐입니다.

자신 만의 보고서를 HTML로 작성하고 Excel로 내보내는 일은 간단하며 필요한 경우 PDF로 내보낼 수있는 무료 도구가 있습니다. 닷넷 차트를 사용할 수도 있습니다.

.Net은 보고서를 생성하는 데 필요한 모든 도구를 제공합니다. 학습 곡선은 그다지 크지 않을 것이고 결국 제어 기능이 훨씬 커질 것입니다.