2010. 4. 3. 10:46

Console.ReadKey();

ReadKey
메서드는 문자 또는 기능 키를 누를 때까지 ReadKey 메서드를 발행하여 스레드에서 차단되거나 대기 상태로 있습니다. 문자 또는 기능 키는 하나 이상의 Alt, Ctrl 또는 Shift 보조키와 함께 누를 수 있습니다. 그러나 보조키만 누르면 ReadKey 메서드가 반환되지 않습니다.


Console.Read();

입력받은 문자의 아스키 코드값을 리턴하는 메서드이다.
Read 메서드는 입력 문자를 입력할 때 해당 반환을 차단하고 Enter 키를 누르면 종료됩니다. Enter 키를 누르면 입력한 내용에 플랫폼 종속 줄 종결 시퀀스가 추가됩니다. 예를 들어, Windows의 경우 캐리지 리턴-줄 바꿈 시퀀스가 추가됩니다. 다음에 Read 메서드를 호출하면 입력한 내용을 한 번에 한 문자씩 검색합니다. 마지막 문자를 검색하면 Read가 반환 값을 다시 차단하고 주기가 반복됩니다.




Console.ReadLine();
다음 줄의 문자를 읽는 메소드

  예외
예외 상황
IOException

I/O 오류가 발생하는 경우

OutOfMemoryException

반환된 문자열을 위한 버퍼를 할당할 메모리가 부족한 경우

ArgumentOutOfRangeException

다음 줄의 문자 수가 Int32..::.MaxValue보다 큰 경우



이 메서드에서 OutOfMemoryException을 throw하는 경우 내부 Stream의 reader 위치가 메서드에서 읽지 못한 문자 수만큼 올라가지만, 이미 읽은 내부 ReadLine 버퍼의 문자는 삭제됩니다. 스트림의 reader 위치는 변경할 수 없으므로 이미 읽은 문자는 복구할 수 없고 TextReader를 다시 초기화하는 경우에만 액세스할 수 있습니다. 스트림 내부의 처음 위치를 알 수 없거나 해당 스트림이 검색을 지원하지 않는 경우에도 내부 Stream을 다시 초기화해야 합니다.

스트림을 다시 초기화하지 않고 견고한 코드를 생성하려면 Read 메서드를 사용하여 읽은 문자를 미리 할당된 버퍼에 저장해야 합니다.



공부를 한번 해봤는데

Stream에 대해서 잘 이해하지 못하여서 완벽하게 이해하지못한것같다.

다음에 좀더 내공을 쌓고 다시 한번 봐야될것같다~ -_-

'.NET > C#' 카테고리의 다른 글

윈폼-리스트뷰에서 간단히 사용하기  (0) 2010.04.25
윈도우 서비스 만들기  (0) 2010.04.04
어셈블리 동적 로딩  (0) 2010.03.31
Const Vs Readonly  (0) 2010.03.29
Sealed  (0) 2010.03.29
Posted by 아몰라
2010. 4. 3. 00:01

<?xml verison = "1.0" encoding="EUC-KR" ?>

? -  선언의 끝과 시작을 알리는 구문으로 PI(Processing Instruction)이라고 하며 Application에게 전달하는 정보이다.
version = "1.0"  - 해당 파일에 xml표준규격버젼정보
encoding - 인코딩(언어)정보로서 선택사항이며 한국어를 쓸시에는 반드시 EUC-KR을 명시해주어야 한다.

<도서정보>
<책 상품번호 ="1">
<제목> API </제목>
<저자> 홍길동 </저자>
</책>
<책 상품번호 = "2">
<제목> MFC </제목>
<저자> 김상형 </저자>
</책>

 </도서정보>

요소 - 도서정보, 책, 제목, 저자
속성 - 상품번호

요소의 시작과 끝에는 <책> </책> 이런식으로 구조가 되어있어야 하며  <책/> 이런식으로 하고 안에 내용을 안적어도 가능하다.
요소명은 숫자나 밑줄 , XML로 시작할 수 없으며 공백을 포함할 수 없다.

'.NET > XML.NET' 카테고리의 다른 글

XML DOM  (0) 2010.04.05
Posted by 아몰라
2010. 4. 2. 23:42

                                                                                  

 

DataAdapter의 기능

-     데이터베이스의 Connection으로부터 DataSet을 생성하는 중간 역할 담당

-        DataSet을 채우고 데이터 소스를 업데이트하는 데 사용되는 SQL 명령 집합 및 데이터베이스 연결을 지원하는 클래스

-        DataTable와 같은 비연결 지향적 클래스들이 데이터베이스와 연결

 

-      Command로 작업할 때에는 데이터베이스와 연결된 상태에서 작업

-       DataAdapter로 작업을 할 경우에는 DataSet이라는 결과를 얻은 후에 데이터베이스와의 연결을 끊고, DataSet 자체만으로도 작업을 수행한다.

-       작업이 끝난 후에는 DatatAdapter를 통해 DataSet의 변경된 부분이 실제 데이터베이스에 반영 가능

 


 

 SelectCommand 속성

 

SelectCommand 속성을 이용하여 원본 DB의 데이터 소스에서 레코드를 검색하는데 사용하는 SQL문이나 Proc를 설정할 수 있다.

- SelectCommand 에 설정된 SQL문을 실행했을때 검색결과가 없어서 SelectCommamd가 행을 반환하지 않으면 데이터 셋에 테이블이 추가되지 않는다.

-    SelectCommand 문을 실행해서 나온 결과에 대해서 SqlDataAdapter클래스의 Fill메소드가 데이터 셋에 테이블을 추가하게 된다.

SqlDataAdapter adapter = new SqlDataAdapter();

adapter.SelectCommand = new SqlCommand();

adapter.SelectCommand.Connection = sConnection;

adapter.SelectCommand.CommandText = Query;




 
InsertCommand 속성

 

-    InsertCommand 속성을 이용하면 새로운 레코드를 데이터 소스에 삽입할 SQL 문이나 Proc를 설정할 수 있다.

-    InsertCommand를 이용해서 데이터 셋에 자료를 추가하는 등의 처리를 할 수 있다


adapter.InsertCommand = new SqlCommand();         

 adapter.InsertCommand.Connection = sConnection;

 adapter.InsertCommand.CommandText = Query;

adapter.InsertCommand.Parameters.Add("@name",SqlDbType.VarChar,10,"name");

adapter.Update(ds, "tb_insert");

 

DeleteCommad 속성

 

-   DeleteCommand는 행을 삭제할때 사용되는 속성이다.

-    DeleteCommand 속성을 이용해서 행(레코드)를 데이터 집합으로부터 삭제할 SQL 문이나 Proc를 가져오거나 설정할 수 있다.

adapter.DeleteCommand = new SqlCommand();

adapter.DeleteCommand.Connection=(SqlConnection)adapter.SelectCommand.Connection;

adapter.DeleteCommand = new SqlCommand();

adapter.DeleteCommand.CommandText = strUpdateQurey;

adapter.DeleteCommand.CommandType = CommandType.Text;

 

 UpdateCommand 속성

 

-    작업을 하다보면 여러가지 이유로 입력된 데이터를 수정해야 할 때가 있다.

-    UpdateCommand 속성을 이용하면 데이터 소스에서 레코드를 업데이트 하는데 사용하는 SQL 문이나 Proc를 가져오거나 설정할 수 있다

 

adapter.UpdateCommand = new SqlCommand();

adapter.UpdateCommand.Connection=(SqlConnection)adapter.SelectCommand.Connection;

adapter.UpdateCommand.CommandText = strUpdateQuery;

adapter.UpdateCommand.CommandType = CommandType.Text;

adapter.UpdateCommand.Parameters.Add(myParam);

 

메소드

설명

Fill

데이터 셋의 행을 데이터 소스와 일치하도록 한다.

FillSchema

데이터 셋에 DataTable을 추가하고 데이터 소스의 스키마와 일치하도록 스키마를 구성한다.

Update

데이터 셋과 동일하게 데이터 소스를 업데이트한다.

 

 예제코드

 

string connString = "server = 504-24\\SQL2005;database=tempdb;";

 connString = connString + "uid=Hello;password=dhtlak;";

 SqlConnection sConnection = new SqlConnection(connString);

  SqlDataAdapter adapter = new SqlDataAdapter();

  adapter.SelectCommand = new SqlCommand();

  adapter.SelectCommand.Connection = sConnection;

   String Query = "select * from titile";

   adapter.SelectCommand.CommandText = Query;

   DataSet ds = new DataSet("Mytable");

    adapter.FillSchema(ds, SchemaType.Source, "titile");

    adapter.Fill(ds, "titile");

  DataRow[] r3 = ds.Tables["titile"].Select();

  foreach (DataRow ro in r3)

   {

          Console.WriteLine(ro["titile_id"].ToString() + ro["type"].ToString());

   }

 

 

'.NET > ADO.NET' 카테고리의 다른 글

DB에 이미지 저장 / 로드 하기  (0) 2010.06.18
DB모델링  (0) 2010.05.28
DataSet  (0) 2010.04.02
DataView  (0) 2010.04.02
SqlDataReader  (1) 2010.04.02
Posted by 아몰라