다음 코드를 실행하려고합니다. 내가하려는 것은 데이터 세트의 한 열을 다른 데이터 세트의 열 중 하나로 복사하는 것입니다. 그것은 동일한 오류를 반환 다음 추가를 만들기에도 불구하고C에서 데이터 세트에 열 값을 지정할 때 '위치에 행이 없습니다'.
There is no row at position 0.
:
int i=0
foreach (DataRow dr in ds_input.Tables[0].Rows)
{
ds_output.Tables["output"].Rows[i]["Serial_Number"] = dr["Serial Number"].ToString();
i++;
}
ds
에 dr
의 열 값을 할당하는 반면, 컴파일러는 다음과 같은 오류를 반환 다음과 같이 코드는 다음과 같습니다
int i=0;
foreach (DataRow dr in ds_input.Tables[0].Rows)
{
ds_output.Tables["output"].NewRow();
ds_output.Tables["output"].Rows[i]["Serial_Number"] = dr["Serial Number"].ToString();
i++;}
실제로 출력 데이터 집합에는 4 개의 열이 있으며 그 중 하나는 입력 데이터 집합에서 복사되고 나머지는 데이터베이스에서 복사됩니다. 네가 두 번째 제안의 예를 들어 줄 수 있다면 좋을 것이다. – Salik
@Salik : 두 샘플을 모두 제공했습니다. 두 번째는 루프에서 '// or'로 시작합니다. 원하는대로'newRow'를 수정할 수 있습니다. 모든 필드를 복사하기 위해'ItemArray'를 사용할 필요가 없습니다. 'newRow.SetField ("ColumnName", value)'를 사용하여 필드 값을 설정할 수 있습니다. 'tblOutput.Rows.Add()'는'DataRow'를 반환 할뿐만 아니라이 행이 이미'DataTable'에 추가되어 있으므로 나중에 다시 추가 할 필요가 없습니다. –