퇴근5분전

System.Diagnostics.ProcessStartInfo  pcssinfo
= new System.Diagnostics.ProcessStartInfo( "isqlw", dbString[ Dbtype.STG ]);
System.Diagnostics.Process.Start( pcssinfo );

isqlw 는 2000 일때의 실행 파일명이었던듯 함.
사용자 삽입 이미지

이건 SqlManager의 속성을 보면 실행파일명이 나오는데
cmd 창에   실행명 /? 을 넣으면 위와 같은 알림창이 뜸.
위 정보를 이용해서 매니져를 여러개의 데이타베이스 서버중에 서버를 지정해서 접속이 가능함.

'# 2) .Net ( Vs 2005 ) > 기타' 카테고리의 다른 글

드레그 앤 드랍! (2)  (0) 2009.05.09
드래그 앤 드랍!  (0) 2009.05.09
데이타테이블 컬럼위치 바꾸기  (0) 2009.05.08
이벤트  (0) 2009.05.08
Enum 과 Enum 비트 마스크  (0) 2009.05.08

전에 데이타그리드뷰를 다뤄보다가 열이동을 보다가 직접 만들어본 메서드임.



// 데이타 테이블에 담긴 컬럼을 위치를 바꾸는 메서드.  
  private DataTable ChangColumn(DataTable  sourceDt ,int ColumnIndex1 , int ColumnIndex2 )
   {
    DataTable dt  = new DataTable();
    if( sourceDt == null) return dt;

    for(int i = 0; i < sourceDt.Columns.Count ; i ++)
    {
     if( i == ColumnIndex1)
     {
      dt.Columns.Add( sourceDt.Columns[ ColumnIndex2 ].ColumnName );
     }
     else if ( i == ColumnIndex2 )
     {
      dt.Columns.Add( sourceDt.Columns[ ColumnIndex1 ].ColumnName );
     }    
     else
     {
      dt.Columns.Add( sourceDt.Columns[i].ColumnName );
     }
    }

    foreach( DataRow dr  in sourceDt.Rows )
    {
     DataRow insertDr  =  dt.NewRow();

     for(int j = 0; j < dr.ItemArray.Length ; j ++)
     {
      if( j == ColumnIndex1)
      {
       insertDr[j] = dr[ ColumnIndex2 ];
      }
      else if ( j == ColumnIndex2 )
      {
       insertDr[j] = dr[ ColumnIndex1 ];      
      }     
      else
      {
       insertDr[j] = dr[ j ];      
      }
     }
     dt.Rows.Add( insertDr );
    }

    return dt;

   }


//  datatable.Rows.Insert() 와  datatable.ImportRow()
에서

같은 Hash코드를 가진(동일 메모리 공간) Row를 DataTable에 입력시

ImportRow는 적용되지만 Insert()는 안됨.

해당 RowCollection 과 관련되어
Insert시 해당 컬렉션에 DataRow가 존재하며 에러 반환.
Import는 있든 없든 무조건 DataRow를 복사해서 추가함.

ex)
  1 : DataRow drd  = ds.Tables[0].NewRow();
  2 :   DataRow drd  = ds.Tables[0].Rows[0];

 ds.Tables[0].Rows.Add( drd); 
 ds.Tables[0].ImportRow( drd );  

2 -> Add나 Insert 는 안들어감. Import는 들어감.


'# 2) .Net ( Vs 2005 ) > 기타' 카테고리의 다른 글

드래그 앤 드랍!  (0) 2009.05.09
Ms-Sql을 띠우자!  (0) 2009.05.08
이벤트  (0) 2009.05.08
Enum 과 Enum 비트 마스크  (0) 2009.05.08
Xml 직렬화...  (0) 2009.05.08


 이 파일은 내 친구 철호군이 닷넷 프로그래밍을 하고자 하여
도움을 주고자 열심히 만들어서 주었다.

 근 1년이 다되어 읽어보니 하하... 설명을 해주어야 했던것들이 많이 보이는...
파워포인트는 역시 어렵다!

aaa bbb ccc ddd eee fff
0_0 0_1 0_2 0_3 0_4 0_5
1_0 1_1 1_2 1_3 1_4 1_5
2_0 2_1 2_2 2_3 2_4 2_5
3_0 3_1 3_2 3_3 3_4 3_5
4_0 4_1 4_2 4_3 4_4 4_5
5_0 5_1 5_2 5_3 5_4 5_5
6_0 6_1 6_2 6_3 6_4 6_5
7_0 7_1 7_2 7_3 7_4 7_5
8_0 8_1 8_2 8_3 8_4 8_5
9_0 9_1 9_2 9_3 9_4 9_5





위 소스는 리피터를 사용한 예제등를 이용해 Asp.Net 웹사이트를 빌드해서 나온
창에 소스보기를 하여 부분을 카피해서 복사한 내용임
원본 asp.Net 프로젝트 소스

객체지향 을 처음 관심을 둘때
내가 만든 객체도 어떤 이벤트에 대한 동작을 해야 하지 않는가? 라는 의문이 생기면서
방법을 찾다가 한참만에 찾았었음.

Vs2003으로 되있는걸 보면... 웹할때인듯 한데 C#시작하고 1년이 넘어서인가보다.

이벤트란?  객체에 어떤행동이나 상태변화등에 특정 행동을 정의 함으로써
그 행동이나 상태변화에 대응하기 쉽게함.

곧 사람이 외부에서 때렸을때 악! 소리를 낸다라든가?
밥을 먹다보니 위가 가득 차서 배부르다는 느낌을 받는다든가?


EventObject    evtObj = new EventObject();
 ...
evtObj.intState_EventHandle  +=new intState(evtObj_intState_EventHandle);
...
private void evtObj_intState_EventHandle() // 이벤트 발생시 두번째 호출
{
    MessageBox.Show("값을 바꿨네!");
}

 evtObj.EventTarget = 10;  // 이벤트 발생 시점이 됨.

 delegate  void intState();

 class    EventObject
 {
  int  eventTarget =  0;

  public EventObject()
  {
   this.intState_EventHandle +=new intState(StateChange);
  }

  public int EventTarget
  {
   get { return this.eventTarget;}
   set {
     int i = this.eventTarget;
     
     this.eventTarget = value;

     if( i != this.eventTarget && intState_EventHandle != null)
       intState_EventHandle();
   }
  }
 
  public event intState     intState_EventHandle;

  public  void  StateChange()
  {
    MessageBox.Show("누가 바꾸래!");              // 이벤트 발생시 처음 호출

  }

 }


이벤트가 발생시 이벤트 처리자로 추가된 순서대로 호출이 됨.


// 아참 떠오르는건 엄준일님 이벤트 강좌를 보고 이걸 했던것 같음.

'# 2) .Net ( Vs 2005 ) > 기타' 카테고리의 다른 글

Ms-Sql을 띠우자!  (0) 2009.05.08
데이타테이블 컬럼위치 바꾸기  (0) 2009.05.08
Enum 과 Enum 비트 마스크  (0) 2009.05.08
Xml 직렬화...  (0) 2009.05.08
정규식] 똑같은 글자가 몇개?  (2) 2009.05.08

마우스를 올리고, 클릭하면 해당 row의 바탕색이 바뀜.
header1 header2 header3
dataRow 1 dataRow 1 dataRow 1
dataRow 2 dataRow 2 dataRow 2
dataRow 3 dataRow 3 dataRow 3
dataRow 4 dataRow 4 dataRow 4
소스 파일 :

'# 2) .Net ( Vs 2005 ) > WebForm' 카테고리의 다른 글

철호야! 공부하자!  (0) 2009.05.08
리피터 사용!!  (0) 2009.05.08
기존의 웹프로젝트 페이지를 그대로 이용하기.  (0) 2009.05.08
트리뷰 노드 추가 재귀 함수.  (0) 2009.05.02
페이징 컨트롤러  (0) 2009.05.01

Enum 클래스...


enum 선언
    enum  변수명 { 인자1, 인자2,... 인자n };
 주의 : 문자열이라도 "인자1" 표기가 아님.


사용
    고정된 코드성 데이타 표현을 이용하거나 style같은 데이타 표현시 이용.


Enum.Format( typeof( enum변수 ) ,    enum변수.선택인자 ,  stringFormat )

stringFormat : 식 문자열은 "G","g","X","x","F","f","D" 또는 "d"만 될 수 있습니다.


비트 마스크 이용


enum GoFlag {left= 0x0001, right = 0x0010, up = 0x0100, down = 0x1000};

 GoFlag  aaa  = GoFlag.left | GoFlag.down

입력 받았을시..

 추출..


if( aaa & GoFlag.left == GoFlag.left )
{ left 처리 }

if( aaa & GoFlag.down != GoFlag.down )
{ down 처리 }
...

프로세스 흘려보내면 됨.


'# 2) .Net ( Vs 2005 ) > 기타' 카테고리의 다른 글

데이타테이블 컬럼위치 바꾸기  (0) 2009.05.08
이벤트  (0) 2009.05.08
Xml 직렬화...  (0) 2009.05.08
정규식] 똑같은 글자가 몇개?  (2) 2009.05.08
PWD 암호화 객체.  (0) 2009.05.08


xml직렬화메서드...
{
 serializeObject  xobj = new serializeObject();
 XmlWriter xWriter = new XmlTextWriter("myInfo.xml", Encoding.Unicode);
 //여기에 객체 타입을 넣습니다.
 XmlSerializer serializer = new XmlSerializer(xobj.GetType());
 serializer.Serialize(xWriter, xobj);   
 xWriter.Close();
}


 // xml직렬화 될 class
 [Serializable()]
 public class serializeObject
 {
  public string aaa  = "aaa";
  public string bbb  = "bbb";
  public string ccc  = "ccc";

//  public  string AA
//  {
//   get{return aaa;}
//   set{aaa = value;}
//  }
//
//  public  string BB
//  {
//   get{return bbb;}
//   set{bbb = value;}
//  }
//
//  public  string CC
//  {
//   get{return ccc;}
//   set{ccc = value;}
//  }
 }


--> xml직렬화 된 결과 파일 내용.

<?xml version="1.0" encoding="utf-16" ?>
<serializeObject xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
 <aaa>aaa</aaa>
 <bbb>bbb</bbb>
 <ccc>ccc</ccc>
</serializeObject>


// 참고 : Form이나 Control로 해봤는데 안되넹...


이것도 오래전에 따라 해보던 것임.
지금 만들라고 하면..
리플렉션을 이용해서 직접 만들것 같음.

'# 2) .Net ( Vs 2005 ) > 기타' 카테고리의 다른 글

이벤트  (0) 2009.05.08
Enum 과 Enum 비트 마스크  (0) 2009.05.08
정규식] 똑같은 글자가 몇개?  (2) 2009.05.08
PWD 암호화 객체.  (0) 2009.05.08
인터페이스와델리게이트조합1  (2) 2009.05.08

문자열이 몇개가 포함되어 있는지 체크 하는 기능 


this.richTextBox1.Text = "abc 가나다 abc가나다 가abc나다 가나다 ab ac bc  가나abc다abc";

System.Text.RegularExpressions.Regex  rg = new System.Text.RegularExpressions.Regex("abc");

MessageBox.Show( rg.Matches( this.richTextBox1.Text , 0).Count.ToString() );

결과창 : 5  

정규식 관련해서는 훈스닷넷에 레몬님께 도움을 많이 받았음.

오래전에 질문글에 올라온걸 답변하면서 작성한 코드임.
간단한 것정도만 아직 가능함.
어려운건 역시 어려움...

'# 2) .Net ( Vs 2005 ) > 기타' 카테고리의 다른 글

Enum 과 Enum 비트 마스크  (0) 2009.05.08
Xml 직렬화...  (0) 2009.05.08
PWD 암호화 객체.  (0) 2009.05.08
인터페이스와델리게이트조합1  (2) 2009.05.08
DB로컬 연결시 문구  (0) 2009.05.02

this.textBox2.Text = FormsAuthentication.HashPasswordForStoringInConfigFile( this.textBox1.Text, "sha1");
this.textBox3.Text =  FormsAuthentication.HashPasswordForStoringInConfigFile(this.textBox1.Text,"md5"); 
암호화 하는 메서드임

db상에서 패스워드를 쉽게 확인 불가능하게 해야 할때 사용( 주로 요새 쓰는듯 )

바뀐 데이타로 pws를 비교하면 됨.
ex)
// 1111  을 암호화 한 문자열임.
if( "011C945F30CE2CBAFC452F39840F025693339C42" == FormsAuthentication.HashPasswordForStoringInConfigFile( this.textBox4.Text, "sha1") )
{
 MessageBox.Show("빙고");
}
else
{
 MessageBox.Show("땡!");
}



두가지 암호화 타입이 있음 sha1, md5

둘중 하나로 쓰면 됨.

복호 안됨 ( 사실 해본적도 없음 ).

'# 2) .Net ( Vs 2005 ) > 기타' 카테고리의 다른 글

Xml 직렬화...  (0) 2009.05.08
정규식] 똑같은 글자가 몇개?  (2) 2009.05.08
인터페이스와델리게이트조합1  (2) 2009.05.08
DB로컬 연결시 문구  (0) 2009.05.02
큐브~  (0) 2009.05.02