저는 지금까지 개발작업을 하면서 SqlDataAdapter 를 사용하여 프로그래밍을 하였습니다.
SqlDataAdapter 가 더 좋은것이라는것을 알지만
그것 보다도

SqlDataReader 를 사용하여 프로그래밍을 하려고 할때

SqlCommand comm = new SqlCommand(쿼리문,DB연결)
SqlDataReader reader = comm.ExecuteReader();

While(reader.Read())
{
reader.GetInt64(0); // int i 열서수
...
}

이런식으로 reader 의 열서수만 넣을수있고 컬럼값을 넣지 못하는것때문에
번거롭기도 하고 코드를 수정하게 되면 문제가 생길소지가 있을것 같아서

처음에 번거롭더라도 SqlDataAdapter 를 사용하여 프로그래밍을 하였습니다.

그러다가 다른 방법이 있다는것을 알았습니다.

(Int64)reader["컬럼이름"]

이라고 입력하면 값을 얻을수있습니다.

reader.GetInt64(열서수)

(Int64)reader[열서수 or 열이름(컬럼이름)]

Posted by 빨강토끼
,
티스토리를 사용하시는 분이 자신의 블로그를 소개하면서 초대장 받는다고 고생한 이야기를 하셔서
그냥 이글루스를 사용하지 그려셨냐고 하니
(제가 이글루스에서 2개의 블로그를 운영하고 있었기때문에..하나는 프로그래밍관련, 그리고 하나는 사진과 나름 감성적인관련...)

소스코드를 보여주는 부분이 맘에 들어서 이글루스에서는 그런기능이 없어서
티스토리를 사용하신다고 하시더군요.

그냥 간단히 소스코드를 붙여넣기만 했다는 글을 보니 나역시 맘에 들었습니다.

그래서 정말 간단히 붙어 넣기만 하면되냐고 물어보니 그렇다고 하셨습니다.
전 스프링노트역시 사용하기 있었기에
스프링노트처럼 붙여넣기를 하고 블록을 지정한후 간단히 아이콘만 클릭하면
되는건줄알고 오늘 열씸히 초대장을 구해 다녔고
드디어 초대장을 얻어서 프리덤 이라는 사이트의 서비스를 통하여 이사까지 완료하였습니다.
(비밀글은 백업이 안되더군요. 그리고 아주오래전것 또한 이사가 안되더군요.ㅜㅜ)
어느정도의 출혈을 감수하고 드디어 새글을 쓰고 소스를 붙어넣기 하였습니다.

두뚱~!
그런데....
안되는것이였습니다. 이런...ㅡㅡ;

다시 열씨미 검색사이트를 돌아다녀본결과
SyntaxHighlighter 에서 배포하고 있는 플로그인을 깔아야되더군요.(사실깐다기보단..암튼.)

사용법은 dp.SyntaxHighlighter를 이용한 코드 하이라이트 에서 참조햇습니다.

부랴부랴 정리하고 ...
하늘만 바라볼뿐...
또다시 생난리를 피웠군....

암튼 프로그래밍관련은 티스토리를 쓰고 나머지 하나는 이글루스에서 그대로 운영해야겠습니다.

티스토리 분명 장점이 많습니다.
그걸 부정하는건 아닙니다.

잘쓰겠습니다.^^;

-PS 딴지하나. 그런데 이글루스보다 조금 느리네요.^^
      딴지두울. 그런데 주제는 어떻게 구분이되서 티스토리 메인에 보여지나요? 태그를 입력하면 알아서 자동으로 분류?
Posted by 빨강토끼
,
예전에 findwindow 를 통해서 특정 프로그램이 실행하지는 여부를 판별하는 법에 대하여
정리 했었습니다.

findwindow 사용법(VB , C++)


이것을 응용하여 중복실행을 방지하는 부분도 코딩을 하곤 했었는데
더 괜찮은 방법이 있으서 정리합니다.

바로 Mutex(뮤텍스) 입니다.

Mutex는 커널 오브젝트로 프로세스 핸들을 가집니다. (HANDLE)
주로 CriticalSection(크리티컬섹션)과 Semaphore(세마포어), 그리고 이벤트기법 과 함께
쓰레드등의 동기화 기법중 하나로 사용합니다.

뮤텍스는 이름을 가질수가 있는데 그로인하여서
  • 프로세스간에도 사용 가능합니다.
  • 크리티컬 섹션보다 우월합니다. -> 대신 그만큼 속도는 느림니다.--; (커널 오브젝트이기 때문에)
뮤텍스는 두 쓰레드가 동시에 소유할 수 없고 한 처음엔 signaled 이다가 쓰레드가 가지면
Non-signaled(비신호) 상태가 됩니다.

더깊은 얘기는 인터넷을 검색해보시기 바랍니다.
이글을 Mutex에 대한 설명보다는 Mutex를 이용하여 중복실행을 방지하는 법을 소개하겠습니다.

일단 함수 몇개를 소개하겠습니다.

뮤텍스 생성 합니다.



사용예



정리하고 나니깐 너무 간단하네요..ㅡㅡ;

findwindow() 등을 통한 방법과 비교해서 장점이라면
윈도우 클래스나 캡션은 중복 가능성이 많지만 뮤텍스는 이름을 복잡하게 주면 중복을 피할 수 있습니다.

마지막으로 뮤텍스 이름은 대소문자를 구분합니다.
대충 여러분이 만드시는 소스에서 어느부분에 어떻게 쓰실건가는 여러분이 알아서 쓰실거라 생각됩니다.
Posted by 빨강토끼
,