2012-05-07 3 views
-2

가능한 중복 :
Sum of column values in C#새로운 합계 행

내가 새로운 행의 합계의 결과를 보려면 다음과 같은 코드를 사용합니다. 나는 세 개의 기둥이있다. (SportID) (SportName) (수수료). 수수료 열에 새 행에 수수료 합계를 표시하고 싶습니다. 하지만 문제가 발생할 것입니다. 해결하도록 도와주세요.

DataRow row = ds.Tables[0].NewRow(); 
------- 
ds.Tables[0].Rows.Add(row); 

또는이 줄을 추가합니다 : 당신은 다음 줄에 예외를 얻고있다

ds.Tables[0].TableName="Entry"; 
+0

무엇이 오류입니까? –

+0

@CraigSchwarze this line "DataRow 행 = ds.Tables ["Entry "] .NewRow();" 그것은 "개체 참조가 개체의 인스턴스로 설정되지 않았습니다"라고 말했습니다. – aliprogrammer

답변

0

을 이해할 수있을 것이다
DataRow row = ds.Tables["Entry"].NewRow(); 

아마도 ds에 테이블이 없거나 테이블 이름이 다르기 때문일 수 있습니다. 브레이크 포인트를 넣어 시각적 인 디버거에서 데이터 세트를 참조하거나 인덱스 테이블에 액세스하려고

DataRow row = ds.Tables[0].NewRow(); //assuming you have table on 0 index 

또한

if(ds.Tables.Count > 0) 
+0

테이블에 인덱스 0을 사용하면이 오류가 표시됩니다. "** 입력 문자열이 올바른 형식이 아닙니다 .Couldent 's Store <>가 SportID 열에 있습니다. 예상 유형 Int32. ** – aliprogrammer

0

:

를 어떤 도움 나는이 라인은해야한다고 생각
int sum = 0; 

for (int i = 0; i < dt.Rows.Count - 1; i++) 
{ 
    sum += int.Parse(dataGridView1.Rows[i].Cells["Fee"].Value.ToString()); 
} 

DataSet ds = new DataSet(); 
adapter.Fill(ds); 

DataRow row = ds.Tables["Entry"].NewRow(); 
row[0] = ""; 
row[1] = ""; 
row[2] = sum; 
ds.Tables["Entry"].Rows.Add(row); 
+0

테이블에 인덱스 0을 사용하면 "** 입력 문자열이 올바른 형식이 아닙니다 .Couldent 's Store <>가 SportID 열에 있습니다. 예상되는 형식은 Int32입니다. ** – aliprogrammer

+0

@aliprogrammer, 그게 무슨 소리 죠? "0"또는 0 만 전달하고 있습니까? 그것은 간단해야 0 따옴표없이 – Habib

+0

@aliprogrammer, 어디서이 오류가 발생하고 있습니까? – Habib

0

나는 당신의 데이터 세트에가 존재하는 테이블 항목을 보여줍니다 확인할 수 있습니다? 테이블 당신은 그것을 액세스하기 전에 항목라는 테이블을 추가해야

if(ds.Tables["Entry"] != null) 

를 데이터 세트에 존재하거나하지 않을 경우

DataRow row = ds.Tables["Entry"].NewRow(); 

당신은 확인하여 예외를 방지 할 수 있습니다. 이름을 모르면 인덱스가있는 테이블에 액세스 할 수 있습니다.

DataRow row = ds.Tables[0].NewRow(); 
+0

엔트리 테이블 이름이 있습니다. – aliprogrammer

+0

@aliprogrammer 맞춤법을 확인하십시오. C#은 대문자와 소문자를 구분합니다 – ABH

+0

테이블에 인덱스 0을 사용하면 "** 입력 문자열이 올바른 형식이 아닙니다 .Couldent 's Store <>를 SportID 열에 입력하십시오. 예상 됨 형식이 Int32 인 경우 ** – aliprogrammer