2012-09-07 6 views
1

여러 DB 연결을 만들고 값을 문자열로 전달하고 조언이 필요한 인라인 C# 페이지를 구성하는 최선의 방법을 파악하려고합니다.문자열 수로부터 HTML 출력

기본적으로 내 직장과 함께 사용되는 CMS는 인라인 코드 만 허용하므로 일부 저장 프로 시저에 연결하고 문자열에 값을 전달하는 코스 검색 페이지를 만들고 있습니다.

문자열에 다른 비트의 정보를 출력하는 세 가지 다른 저장 프로 시저 호출을 처리하는 가장 좋은 방법은 무엇입니까? 이전 VB 버전에서는 정보를 문자열로 전달한 후이를 처리하는 가장 좋은 방법이 아닌 하나의 큰 문자열로 출력했습니다.

코드는 현재 나 각 절차 섹션 일반적으로 테이블이 포함 된 것처럼 섹션을 닫거나 하나 개의 큰 테이블에 추가하기위한 현명한 방법이 있나요이 거친 형식

Stored Procedure 1 
Pass x values to string 
string = "<p> + xString +</p>" 

Stored Procedure 2 
Pass y values to string 
string = "<p> + yString +</p>" 

에 가고 난 그냥 해요 사람들이 무엇을 제안하는지 보는 것은 최선의 방법 일 것입니다.

사실 저는 프로그래머가별로 많지 않습니다. 학교 소년 과실 인 경우 사과 할뿐입니다.

당신은 StringBuilder을 사용할 수

+0

귀하의 질문에 명확하지 않습니다. – codingbiz

답변

0

는 문자열을 결합의 방법은 여러 가지가 있습니다. 이 유형을 사용하면 텍스트를 추가하고 삽입 한 다음 ToString() 메소드를 사용하여 모든 텍스트를 출력 할 수 있습니다.

StringBuilders은 일반적으로 루프 내에서 문자열에 텍스트를 추가 할 때 사용됩니다. String.Concat 또는 yourString += string.Format("<p>{0}</p>", stringToBeAdded);

를 귀하의 경우 : 당신은 단지 당신의 문자열에 텍스트를 추가 할 3 번을 가지고 있기 때문에

은 그냥 사용할 수 있습니다 (난 당신이 10 회씩 연결이 일단의 StringBuilder를 사용하는 것은 권장 읽었습니다) 당신이 시도하고 질문을 명확하게하는 것이

// Using an array (fixed size) 
string[3] yourStrings; 
yourStrings[0] = "first string"; 
yourStrings[2] = "last string"; 

// Using a list (dynamic sized) 
var yourStrings = new List<string>(); 
yourStrings.Add(storedProcResult.ToString()); 
0

내가 제안, 내가 제대로 이해한다면 그러나 나는 그것이 아마에 가장 좋은 것이라고 생각 : 본문은이 경우 다른 옵션을 사용할 수 있습니다, 서로 관련없는 othe를 실행하는 저장 프로 시저를 만듭니다. r 프로 시저를 저장하고 임시 테이블에 결과를 저장합니다.

INSERT INTO #MyTable1 EXEC procedure1 @param 
INSERT INTO #MyTable2 EXEC procedure2 @param 
INSERT INTO #MyTable3 EXEC procedure3 @param 

그런 다음 같은 저장 프로 시저에 원하는대로 문자열을 연결하고, 예를 들어 인라인 코드로 반환하는 간단한 SELECT 문을 실행

SELECT CONCAT(MyTable1.emp_name, MyTable2.emp_middlename, MyTable3.emp_lastname) AS Result