블로그 이미지
프로그램을 가장 훌륭하게 작성하는 방법은 상태가 변경되는 오브젝트들과 수학적인 값을 나타내는 오브젝트들의 조합으로 표현하는 것이다. -Kent Beck 초초초보

카테고리

Programming (184)
ASP.NET (9)
Silverlight (2)
Javascript (20)
C# (8)
java (25)
SQL (14)
Oracle (3)
MyBatis (3)
기타 (52)
개발방법론 (1)
trouble shooting (2)
Linux (5)
스칼라 (5)
html (2)
grails & gradle (3)
Spring (2)
rabbitmq (1)
(3)
spark (0)
docker (3)
Total
Today
Yesterday

달력

« » 2024.4
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30

공지사항

최근에 올라온 글


A() -> B() ->C() 함수를 호출 했다고 가정 했을 때

C() 함수에서 A() 함수명을 구할 수 있다.

        private void Defender4()
        {
            int count = new StackTrace().FrameCount; //현재의 호출스택 카운트
            StackTrace stacktrace = new StackTrace();
            MethodBase method = null;
            for (int i = 0; i <count ; i++)
            {
               method= stacktrace.GetFrame(i).GetMethod(); //i 번째에 해당하는 호출스택 메소드 반환
               Console.WriteLine("{0}번 째 호출스택 : {1}",i,method.Name);
            }
          
            Console.WriteLine();
        }


로그 작성에서 사용 하면 좋을 듯 함..








Posted by 초초초보
, |

참조 사이트 : http://msdn.microsoft.com/ko-kr/library/system.environment(VS.80).aspx


보통 환경 변수를 가져올 때
 string str = Environment.GetEnvironmentVariable("환경변수명");
 Console.WriteLine(str);

이런 식으로 가져오게 된다.

문장 속에 환경 변수가 들어 있다면 해당 값으로 치환해 주는 메소드가 있다.
String query = "%SystemDrive%";
str = Environment.ExpandEnvironmentVariables(query); //환경변수 여러개도 됨.

출력 값 : C:

파일의 경로를 저장 할 때 객체.Save("c:/파일명.확장자");
      --> 환경 변수를 구해서 객체.Save(str +  "/파일명.확장자");

Posted by 초초초보
, |


참조 : http://www.mvpmagazine.net/post/RowAs1Column.aspx

테이블
create table aa (idx int)
create table (bb idx int, namex varchar(10))

데이터

insert into aa values(1)
insert into aa values(2)

insert into bb values(1,'a')
insert into bb values(1,'b')
insert into bb values(1,'c')
insert into bb values(1,'d')
insert into bb values(1,'e')

insert into bb values(2,'a')
insert into bb values(2,'b')
insert into bb values(2,'c')
insert into bb values(2,'d')
insert into bb values(2,'e')

1차
declare @str varchar(1000)
--set @str =''
select @str = coalesce(@str + ',' +cast(bb.namex as varchar(10)),cast(bb.namex as varchar(10)))
from aa join bb on aa.idx = bb.idx
where aa.idx =1
select @str

결과값
a,b,c,d,e

2차
select idx, stuff(
(select ',' + cast(b.namex as varchar)
from aa a join bb b on a.idx = b.idx
where b.idx = aa.idx
group by b.namex, b.idx
order by b.namex
for xml path(''))
,1,1,'') as namex
from aa
where aa.idx in(1,2)
group by idx

결과값
idx    namex
1      a,b,c,d,e
2      a,b,c,d,e


--------------------------------------------------------------------------------------------------

SQL 2000 버전
이 예제는 테이블 하나로 테스트 한다.
사용자 함수를 이용한 쿼리

--테이블만든다
create table test
(
 id int,
 namex varchar(10)
)
go
-- 데이터 넣는다
insert into test values(1,'사과')
insert into test values(1,'배')
insert into test values(1,'딸기')
insert into test values(2,'참외')
insert into test values(3,'수박')
insert into test values(3,'수박')
insert into test values(6,'수박')
go

-- 같은 id 별로 namex 를 '값,값,' 으로 표현 해주는 사용자 함수
CREATE FUNCTION dbo.ConcatResult(@State CHAR(2))
RETURNS VARCHAR(8000)
AS
BEGIN
 DECLARE @Output VARCHAR(8000)


 SELECT @Output = COALESCE(@Output + ',','') + NAMEX
 FROM TEST
 WHERE ID = @State
 ORDER BY ID

 RETURN @Output
END
GO

-- 실제 적용 쿼리
SELECT DISTINCT ID, dbo.ConcatResult(ID) as NAMEX
FROM TEST
ORDER BY ID

--------------------------------------------------------------------------------------------------











Posted by 초초초보
, |