나는 약 5 테이블을 반환하는 저장 프로 시저를하고 난 이런 식으로 그들에게 뭔가를 반환하고 있습니다 :저장 프로 시저에서 테이블 이름을 인식하도록 DataSet을 가져 오는 방법은 무엇입니까?
select <fields> from Products where ProductId = @ProductId
select <fields> from RelatedProducts where ProductId = @ProductId
select <fields> from MetaData where ProductId = @ProductId
잘, 당신은 요점을 얻을. 이제 데이터 집합에, 내가 할 경우이 :
DataSet ProductDs = DAL.RetreiveProductMetadata(someInteger);
ProductName = DataSet.Tables["Products"].Rows[0]["columnName"].ToString();
그 예외를 던지고 ... 음, TABLENAME가 null 및 디버깅에있다라고 오류가 밝혀, 테이블 이름은 실제로 "Results1"로 명명되어, "Results2"등등.
select * From products AS Products
효과 없음 :
나는에 저장된 프로 시저를 변경했습니다.어떻게 C#에서 데이터베이스의 테이블 이름을 찾아서 사용할 수 있습니까?
ps : 모든 종류의 Coalesces 및 사례가 현장에서 있습니다. 문제가있는 것이 아닙니다.
또한 인터넷 검색을 시도해 보았습니다.
int를 사용하여 테이블을 인덱싱하려고하면 어떻게됩니까? – dandan78
물론 작동 할 것입니다. 그러나 이름으로 액세스하려고하는 요점은 읽기 쉽도록하기위한 것이므로 나중에 테이블 [0]과 [1] (또는 다른 어떤 코더가 작동하는 다른 코더)와 혼동하지 마십시오. 나중에 내 코드에) – iamserious
또 다른 바보 같은 질문 : 당신은 소문자로 테이블 이름을 입력하려고 했습니까? 나는 과거에도 비슷한 문제가 있었음을 기억합니다.하지만 어떻게 해결했는지는 확실하지 않습니다. 대소 문자 구분에 대해 생각해 보았습니다. – dandan78