오라클에도 일반적으로 프로그래밍 언어와 같이 if else가 존재 한다.

바로 DECODE라는 놈이다.

이놈을 이용하는 방법은 아래와 같다.

DECODE('002',' A','001',' B', ' N')

여기에서 002는 A, 001은 B 그렇지 않을 경우 N을 나타내는 경우이다.

이놈 말고도 MS나 MY에서 쓰는 방법도 있다. 공통적으로 ORACLE에서도 허용이 되는 것이다.

바로 CASE BB.SHELF_LOC_CODE 이다

사용 방법은 다음과 같다.

CASE Value WHEN '001' THEN 'A' ELSE 'N' END

이는 001일 때 A를 아니면 N을 나타는 것이다.

하움.. ㅠ_ㅠ

노력하자!!

제어판상에서 컴퓨터 관리에서 우리는 서비스를 확인 할 수 있다.

이 서비스를 도스 창에서 삭제하고 등록하는 법은 다음과 같다.

만약 기존에 등록된 서비스가 돌아가고 있다면 일단 중지를 한다.

그리고 sc delete 서비스명을 치면 삭제가 된다.

서비스를 설치 할 경우는  C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322

폴더 아래에서 installUtil  "설치 exe파일 Full Path"

를 치면 등록이 되며

installUtil /u "설치 exe파일 Full Path" 를 입력을 하면 삭제가 된다.

윈도우즈 상에서 서비스를 등록하고 이용하는 프로그램을 만드는 사람이라면..

당연히 알고 있어야 할 듯 하다.

그럼 슈슉~

Hashtable.. 이놈을 당연히 모든 개발자들을 알 것이죠.

-_- 근데.. 이놈을 출력할때는 랜덤입니다..

1,2,3,4 로 넣었다고 할 경우

1 3 2 4 라던지 경우의 수대로 막 -_-..

그런게 싫다면 sortedList 를 이용하면 좋죠

정해진 기준에 순차적으로~ 슈슉~ 나오지만.. -_- 네.. 무겁습니다.. 것도 아주 제대로 -_-

Hashtable을 이용하면 key와 value 값을 구분해서 쉽게 이용되죠

Hashtable table = new Hashtable();
table.add(key,value);

이런 식으로 쓰면 됩니다.

물론 key와 value에 정해진 타입은 없습니다.

쓰시고 싶은 형태로 정의하시면 됩니다.!!

가장 기초적이라 할 수도 있는 컬렉션이지만..

다시 한번 돌아보면 좋겠죠?^_^/

TripleDES를 이용하여 C#에서는 손쉽게!! 암호화를 한다.

TripleDESCryptoServiceProvider tDESalg = new TripleDESCryptoServiceProvider();

하지만 -_- 이놈에 대해서 한번이라도 생각해 본 적 있는가?

생성할때마다 Key와 IV 의 값이 달라진다.

그래서 생각해 낸것이!!

File.WriteAllBytes(경로,Key 또는 IV)를 이용하여 파일로 빼둔다!!

그리고 난다음 복호화 할때 저 파일을 File.ReadAllBytes(경로)를 해서 해 놓으면!!

APP 개발에 도움이 많이 될 것이다!! 라고 필자는 생각한다 ^_^/

우힛~ -_-;
C#에는 TCP방식에 헬퍼 클래스를 이용할 수도 있고

Socket을 열어서 적용 시켜줄 수도 있다.

그럼 여기서 각각의 NetworkStream을 받아서 적용하는 법을 알아보자

1. Socket

Socket server=null;
Socket client=null;
...
이렇게 정의 되어 있다고 한다면
server 소켓에 연결된 것을 client에 바인딩 해 준다
client = server.Accept();

이렇게 하면 연결이 된 것이다

하면 NetworkStream은 어떻게 쓰느냐?
NetworkStream ns = new NetworkStream(client);
를 해 주면 ns에 대해서 확보를 한다.

SreamWriter나 StreamReader를 이용할 경우 new 스트림 종류(ns) 를 해 주면 적용이 된다.

2. 헬퍼 클래스

TCPListener 를 통하여 연결되었다고 할 경우에

NetworkStream ns =null;

상태에서

ns = client.getStream();

처리를 해 준다음

SreamWriter나 StreamReader를 이용할 경우 new 스트림 종류(ns) 를 해 주면 적용이 된다.

간단하지만.. 약간의 차이점이랄까?
솔직히.. -_- 이거 땀시.. 머리 좀 많이 굴렸다..

왜? -_- 스레드의 생명 주기와 같이 끝나는 시점을.. 몰랐기에..

그냥 MSDN 볼걸... ㅠ_ㅠ

브레이크 포인트 찍어서 정확하게 알아낸게 어딘지.. ㅠ_ㅠ

일단 Stream을 통해서 ReadLine()을 한 것은 바로 제어권이 넘어간다

하지만!!

ReadToEnd()한 것은.. -_-

해당 Stream이 닫혀야지만.. 그 제어권이 넘어갔다..

필자는.. -_- 솔직히 이 두개 똑같은 형식일거라 생각하고 아무 생각없이..

-_- 뭐지.. 하면서 여러 수십번 실행을 해 봤다..

테스트 해 보실 분은 FileStream을 열어서 각각 ReadLine()과 ReadToEnd()

두가지를 적용해 보시면 금방 알아채실 것이다..

-_- 아 글고 딱 보면 알 것이다.

ReadLine()은 한줄 한줄 불러들이지만!!

ReadToEnd()는.. -_- 끝까지~ 다 긁어온다!!
[C#]일본어 인코딩 C# 2009. 4. 7. 18:28
Encoding sjisEnc = Encoding.GetEncoding("Shift_JIS");

처리를 한 후 당겨 쓰면 된다 -_-a

DllImport를 오랜만에 하면서 이래저래 손댔더니 -_-;;

기억 저 멀리에서 -_-..

반갑게 맞이하네;;
[ETC]CSV 파일 형식 Comsori 2009. 4. 6. 10:43

CSV 파일은 , 로 구분된다.

단 ,를 포함한 데이터는 " " 로 묶어서 저장이된다.

" 문자 처리의 경우 개행문자 처리처럼 "" 형태로 나타나며

문자와 연결시 " " 로 문자를 묶은 후 " 처리를 한다

EX) a" -> "a"""

MSDN에서 찾았다.

컬럼을 지정해 주지 않고는 GridView에 데이터가 표현이 되지 않아서 어떻게 할까 했다

가변적으로 변하는 컬럼들의 이름과 타입때문에 직접받아와서 해 보고 했지만..

내키지 않아서 찾아본 결과.. 좋은 예가 있었다.

그 코드 내용은 다음과 같다.

OracleDataAdapter dataAdapter = new OracleDataAdapter("select * from test_khw", _connectionString);
                OracleCommandBuilder commandBuilder = new OracleCommandBuilder(dataAdapter);
                DataTable table = new DataTable();
                table.Locale = System.Globalization.CultureInfo.InvariantCulture;
                dataAdapter.Fill(table);
                dataGridView1.DataSource = table;*/
                //dataGridView1.AutoResizeColumns(DataGridViewAutoSizeColumnsMode.AllCellsExceptHeader);

데이터 베이스 종류를 바꿔서 이용할때는 각기 맞는 클래스로 변경해서 해 주면 출력이 된다.
[C#]GridView에 CheckBox 넣기 C# 2009. 3. 24. 13:07
먼저 테이블을 생성하고 그 테이블에 아래와 같이 넣어 주면 된다.

_tbl.Columns.Add("select", typeof(System.Boolean));

물론 GridView를 생성할때 VS를 이용해도 된다.

체크 유무의 값은 True와 False로 나타난다.

그 값을 확인하기 위해서는

GridView[i, j].Value를 이용하면 얻을 수가 있다!

필자는 것도 모르고 -_-;; 상태가 바뀔때마다 체크를 했다가

삽질아닌 삽질을 했다 ㅠ_ㅠ