2010-06-07 4 views
0

C# VS2008/SQL Server 웹 사이트 응용 프로그램을 개발 중입니다. 전에는 Dictionary 클래스를 사용한 적이 없지만 Hashtable을 Dictionary 변수로 바꾸려고합니다. 여기 Dictionary 변수를 다른 프로 시저에 전달하는 방법

는 내 aspx.cs 코드의 일부입니다 :

... 
Dictionary<string, string> openWith = new Dictionary<string, string>(); 

for (int col = 0; col < headers.Length; col++) 
{ 
    @temp = (col + 1); 
    @tempS = @temp.ToString(); 
    @tempT = "@col" + @temp.ToString(); 
    ... 
    openWith.Add(@tempT, headers[col]); 
} 
... 
for (int r = 0; r < myInputFile.Rows.Count; r++) 
{ resultLabel.Text = ADONET_methods.AppendDataCT(myInputFile, openWith); } 

그러나이 마지막 줄에 나에게 컴파일러 오류를주고있다 : 인수 '2': System.Collections.Generic '에서 변환 할 수 없습니다 .Dictionary 'to'string '

전체 openWith 변수를 AppendDataCT에 전달하는 방법은 무엇입니까? AppendDataCT는 my SQL 저장 프로 시저를 호출하는 메서드입니다. 각 행에 데이터베이스 테이블에 추가 할 고유 한 값 집합이있는 전체 행을 전달하고 싶습니다. 예를 들어 각 행에 셀 A, B 및 C에 대한 값이 필요한 경우이 값을 모두 문자열 인 AppendDataCT에 전달해야합니다. 사전으로 어떻게해야합니까?

+0

사전에서 추출하고 문자열로 전달 –

답변

1

문제는 귀하의 사전이 아니라 귀하가 그것을 어떻게 전달하고 있는지입니다. 문제는, 그것이 string 매개 변수를 기대하지이를 가정 할 dictionary<string,string>

, 당신은 아마

foreach(KeyValuePair<string,string> item in openWith) 
{ 
    resultLabel.Text = ADONET_methods.AppendDataCT(myInputFile, item.Value); 
} 

이 당신의 사전을 반복합니다 .... 좀 이런 식으로 뭔가를하려는 방법 AppendDataCT이며, [key, value] 의 모든 쌍에 대해 쌍의 값을 사용하여 AppendDataCT 메소드를 호출하십시오.

관련 문제