현재

2010-03-16 2 views
0

내가이 일을하고 .NET 1.1에 DataRow 개체를 할당 ... 내가이하고 싶으면 무엇현재

object s = new object(); 
s = mydatarow["mycolumn"]; 

...

DataRow r = null; 
r = mydatarow["mycolumn"]; 

나는 오류가 발생하는 방법 개체에서 DataRow로 변환 할 수 없다고 말합니다.

이 작업을 수행하는 더 좋은 방법은 무엇입니까?

+0

코드 형식을 정하십시오. – Andrey

+0

무엇을하려합니까? 귀하의 코드는 말이되지 않습니다. DataRow를 만들지 않았습니다. 이런 식으로는 만들 수 없습니다. DataRow에는 public 생성자가 없습니다. –

답변

1

...

object s = new object(); 
s = mydatarow["mycolumn"]; 

첫 번째 줄은 새로운 객체를 생성 한 다음 두 번째 라인은 그 객체를 멀리 던져으로 대체하기 때문에 이것은 좋은 생각이 아니다 DataRow의 "mycolumn"열의 값입니다. 좋은 이유없이 가비지 컬렉터를위한 추가 작업을 생성한다는 것을 제외하면 이것은별로 다치게하지 않습니다. 그 대신에,이 작업을 수행해야합니다

object s = mydatarow["mycolumn"]; 

을 그러나 "mycolumn는"문자열 값이 포함되어 있는지 알고 일어날 경우, 대신이 작업을 수행 할 수 있습니다

string s = (string)mydatarow["mycolumn"]; 

을 마찬가지로, mycolumn "경우 "단순히 이해가되지 않기 때문에, ... 당신은 다음을 수행해야 어떠한 경우

int x = (int)mydatarow["mycolumn"]; 

정수 열, 그리고 프레임 워크는 당신을 말할 수있을만큼 좋은이다"mycolumn "값 귀하의 데이터 Row는 실제로 다른 DataRow가 아닙니다.

DataRow r = null; 
r = mydatarow["mycolumn"]; 
1

뭔가 잘못한 것처럼 보입니다.

DataRow r = null; 
r = mydatarow["mycolumn"]; 

mydatarow는 DataRow를 자체입니다. 특정 열을 참조 할 때 테이블의 "셀"을 얻습니다. (DataSets는 기본적으로 느슨하게 입력되기 때문에 유형 객체가 있지만) DataRow에 셀을 할당하려고합니다.

이름이 있습니까?

1

DataTable (여러 행), TABLE의 데이터 행 (여러 필드/열) 및 개별 열 셀 자체가 있습니다.

DataTable oTbl = ResultSetFromYourQuery(); 
DataRow oDR = oTbl.Rows[0]; // Rows[0] is first row in a result table (zero-based) 
String ColumnValue = oDR["YourColumnName"]; 
1

이 작업을 시도 할 수 있습니다 :

DataRow r = null; 
r = (DataRow) mydatarow["mycolumn"]; //* 

그것은 가능성이 있지만, 이론적으로 가능하다이 작동합니다. 일반적으로이 항목에 문제가있을 경우 (//*을 추가 한) 중단 점을 지키고 mydatarow["mycolumn"]을보고 Visual Studio에서 실제로 어떤 유형인지 알려주도록하십시오. 당신은 무슨 일을하는지