본문 바로가기

728x90
반응형

프로그래밍&IT

(155)
C# DataTable에서 Datarow 핸들링, Add select Update Delete DataTable에서 추가, 조회, 갱신, 삭제하기.개인적으로 다시 한 번 정리하는 차원에서 블로그에 올립니다. namespace conEx02{ class Program { static void Main(string[] args) { //DataTable생성 DataTable dt = new DataTable("Test"); //Data Column 추가 dt.Columns.Add("ID"); dt.Columns.Add("NAME"); // 새로운 row를 추가하기 DataRow dr = dt.NewRow(); dr["ID"]="111"; dr["NAME"] = "AAA"; dt.Rows.Add(dr); dr = dt.NewRow(); dr["ID"]="222"; dr["NAME"]="BBB"; dt...
C# 에서 정규표현식 - Regex.IsMatch 이용 .Net C#에서 정규표현식 사용하기간혹 구문의 패턴이나 분석할때 정규표현식을 써야할 때가 존재하더군요. using System.Text.RegularExpressions; Regex.IsMatch( 분석할 구문, 패턴 [, 옵션] ); 여기서, match위한 패턴정보 입력하는걸 퍼왔습니다. 1. '.' 임의의 한 문자 ex) s.e -> sae, sbe, sce, sde ... .ce -> ace, kce, dce ... 2. '*' 바로 앞의 문자가 없거나 하나 이상 ex) s*e -> e, se, see, ssse ... abc* -> ab, abc, abcc, abccc ... h*im -> im, him, hhim, hhhim ... 3. '+' 바로 앞의 문자가 하나 이상 ex) s+e -> ..
C# - XML 작성 기본 XML 작성 IT하다보면 XML과 관련된 일이나 업무가 많을텐데이상하게 제가 직접 작성한다던지 (Config 말고) 뭔가 직접 작업하는건 없는듯하네요... 2가지의 방법을 서술합니다.기본적으로 XmlDocument로 기본 뼈대(?) 객체를 생성후이 뼈대에 Element들을 계속 붙여나가는 방식 이라 하면 될까나? using System.Xml; static void BuildXml() { XmlDocument doc = new XmlDocument(); //Document 객체 인스턴스 XmlElement inventory = doc.CreateElement("Root"); XmlElement car = doc.CreateElement("A"); car.SetAttribute("ID", "1000"); ..
MySQL 에서 auto_increment 값 초기화 하기 auto_increment 값 초기화 하기 History 성 테이블 등Primary Key 및 인덱스용 컬럼으로 AUTO_INCREMENT를 간혹 사용하게 됩니다. 테스트를 하다가 늘어난 auto increment컬럼의 갯수를실제 적용이나 필요의 이유로 초기화 할때 alter table [테이블명] auto_increment = 1 위의 명령으로 초기화합니다. 근데, row가 존재할땐 초기화가 안되고데이터를 다 지운후 써야 다시 1로 셋팅되는듯한데...???
기본적인 특징 & 자료형 개인적인 용도로 작은 dbms가 필요해져서기존에 알고있떤 SQLite3에 대해 학습할 필요가 생겼습니다. 주요 특징단일 데이터베이스 파일db의 모든 정보가 단 하나의 파일에 저장. 테이블스키마, 레코드데이터, 인덱스같은 정보가 한 파일에 저장SQLite API로 데이터베이스 열때도 해당파일의 이름을 인자로 받음. 타 db파일에 있는 데이터를 이용하는것도 가능.이땐 attach/detach문을 이용해 타 db파일에 들어있는 데이터를 연동하면된다고 단, 단일파일로 동작하기에 프로그램이 다중프로세스나 다중스레드로 동작하는 경우 lock이슈가 발생할수있다 설정파일SQLIte는 라이브러리 혀앹로 제공. 별도 설정파일이 없고 별도 서버를 구동하는 등의 사전작업없다 간결성매우간결하나 페이지 크기 제한있다 라이선스pu..
MySQL 스토리지 엔진 MySQL의 테이블 작성의 기본인 스토리지 엔진을 알아보자. MySQL의 스토리지 엔진을 알아야 할것같다는 생각이 듭니다.여태까지 Oracle, MsSQL위주로 업무를 했고 (잘 하진못하지만...)MySQL은 개인적으로 쓰기위해서 배우고 있는데 쌓이는 데이터 특성에 따라테이블의 스토리지엔진을 각기 설정해서 써야할것같습니다. foreign key를 쓰기위해선 기본적으로 InnoDB의 스토리지 엔진을 써야한다는건 이번에 봤네요... show engines;현재 설치돼있는 MySQL 서버에서 지원되는 스토리지 엔진 확인 위의 Support 컬럼별 설명 Yes 해당 스토리지엔진이 포함돼있고, 사용 가능으로 활성화된 상태 Default "YES"와 동일한 상태지만 필수 수토리지 엔진임 의미 즉 이 스토리지 엔진없..
this의 3가지 용법 체크 C#, this의 3가지 용법. this. 말그대로 '이것'을 나타낸다고 보면 될것같네요1) 자신의 멤버를 가리키는 thisthis만 치면 해당 클래스의 멤버변수들 쉽게 보고 타이핑이 가능하기에 개인적으로 많이 썼던 방법입니다.Ex) class Exam{private int iVarprivate string strVar;public string strVar1;protected string strVar2; public Exam() {this.iVar = 100;this.strVar="Private1";this.strVar1="Public";this.strVar2="Protected";}} 2) 클래스를 반환하는 this동일한 객체 인스턴스를 가리키게 됩니다.Ex)namespace Con_Ex05{class..
코드 리팩토링(refactoring) 관련 & 메소드 추출하기 VIsual Studio2010에서 제공하는 (아마 그 이상에서도 제공될듯...)코드 리펙토링 관련하여서 대략적인 내용은 아래와 같습니다. 리펙토링 기술 의미 이름 바꾸기 프로젝트 전체에 걸쳐서 코드 토큰 (메소드 이름, 필드 , 지역변수 등) 의 이름을 변경 메소드 추출 선택된 코드 구문ㅇ르 기초로 새로운 메소드 정의 필드 캡슐화 Public 필드를 C# 속성으로 캡슐화된 private 필드로 변경 인터페이스 추출 기존 타입 멤버를 기초로 새로운 인터페이스 타입을 정의 매개변수 제거 해당 매개변수를 메소드의 매개변수 목록에서 제거한다 매개변수 다시 정렬 멤버 매개변수의 순서를 변경 그중에서 "메소드 추출" 예제입니다.어떤 코딩을 작성했는데,다른 곳에서도 쓰일 가능성이나 쓰고 싶을때,일일이 메소드를 만들..
C# 접근 제한자 / 접근자 관련 (private, public, protected ...) OOP 프로그래밍을 하면서 기본적으로 class 등 여러가지를 배우게 되는데그중 하나인 접근제한자를 정리해봤습니다. 접근 제한자 설명 public 클래스 내, 외부와 파생 클래스에서도 클래스 멤버에 접근 가능 private private를 포함한 클래스 내에서만 접근 가능. 파생 클래스에서도 접근할 수 없다. OOP의 캡슐화때문인듯 protected 기본 클래스와 파생 클래스에서만 접근 가능. private 와 public의 중간이라 보면 될려나? internal 동일 어셈블리 내에서 접근 가능 protected internal 동일 프로그램 내에서 혹은 파생 클래스에서 클래스 멤버 이용가능 접근 제한자 클래스 내부 외부 클래스 파생 클래스 프로젝트 public O O O O private O prote..
[MS SQL] 문자열 함수 (2008 R2 버전으로) MS SQL 학습 문자열 함수 + 함수라기보단 연산자? 둘이상의 문자(열)을 연결 Ex) select 'A' + 'BCD' -> ABCD ASCII ( character_expression ) 문자에 대한 ASCII (INT) 값. Ex) select ASCII('A') -> 65 CHAR ( integer_expression ) int ASCII 코드를 문자로 변환 Ex) select CHAR(65) -> A CHARINDEX ( expression1 ,expression2 [ , start_location ] ) xpression2에서 expression1을 검색하고 시작 위치(찾은 경우)를 반환합니다. 검색은 start_location에서 시작 Ex) select CHARINDEX('ABC', 'A..

반응형