Ms-Sql을 띠우자!
= 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년이 다되어 읽어보니 하하... 설명을 해주어야 했던것들이 많이 보이는...
파워포인트는 역시 어렵다!
'# 2) .Net ( Vs 2005 ) > WebForm' 카테고리의 다른 글
달력을 만들때... (0) | 2009.05.11 |
---|---|
메뉴] 자바스크립트로 만든 메뉴객체를 이용. (0) | 2009.05.09 |
리피터 사용!! (0) | 2009.05.08 |
Table Row-> Select, MouseOver, Out관련 (0) | 2009.05.08 |
기존의 웹프로젝트 페이지를 그대로 이용하기. (0) | 2009.05.08 |
리피터 사용!!
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 프로젝트 소스
'# 2) .Net ( Vs 2005 ) > WebForm' 카테고리의 다른 글
메뉴] 자바스크립트로 만든 메뉴객체를 이용. (0) | 2009.05.09 |
---|---|
철호야! 공부하자! (0) | 2009.05.08 |
Table Row-> Select, MouseOver, Out관련 (0) | 2009.05.08 |
기존의 웹프로젝트 페이지를 그대로 이용하기. (0) | 2009.05.08 |
트리뷰 노드 추가 재귀 함수. (0) | 2009.05.02 |
이벤트
객체지향 을 처음 관심을 둘때
내가 만든 객체도 어떤 이벤트에 대한 동작을 해야 하지 않는가? 라는 의문이 생기면서
방법을 찾다가 한참만에 찾았었음.
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 |
Table Row-> Select, MouseOver, Out관련
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 클래스...
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 직렬화...
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 |
PWD 암호화 객체.
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 |