2016/06 4

[C#/ PostgreSQL] AWS RDS(PostgreSQL) 접속하기 및 쿼리

Npgsql (NetPostGreSQL) - PostgreSQL의 데이터를 제공하는 라이브러리 - .NET Framework로 개발되는 어떤 프로그램이던 PostgreSQL에 접근하는 것을 허용 - 100% 순수 C#으로 개발되었음 - PostgreSQL 9.0 버전부터 공식적으로 지원함 - 최신 버전은 3.1.5(stable)임 (.NET4.5 기준 / .NET4.0은 버전 2.2.7을 사용해야함) - 라이센스는 PostgreSQL License를 따름 (수정 후 배포 조건이 없고 자유로움) 1234567891011121314151617181920// AWS RDS 계정을 이용하여 PostgreSQL 연결public string Connect(AWSCredentials credentials){ var ..

컴퓨터/C# 2016.06.30

[C#/ PostgreSQL] C#에서 Npgsql TimestampTZ 쿼리

C# Datetime to Npgsql TimestampTZ C# 을 이용하여 TimestampTZ 형식의 컬럼에 데이터를 넣을 때, 입력한 시간과 다르게 출력되는 경우가 있다. C#에서 입력한 시간보다 DB에는 9시간( UTC+9 한국 기준) 느린 시간이 출력되는데,이는 C# 에서 UTC 설정을 해주면 해결할 수 있다. 123456// DateTime 예제 (SpecifyKind 메소드)var time = new DateTime(2015, 10, 27, 0, 0, 0);Console.WriteLine(time.ToString()); // 2015-10-27 오전 12:00:00 var date = DateTime.SpecifyKind(time, DateTimeKind.Utc);Console.WriteL..

컴퓨터/C# 2016.06.30

[DevExpress] GridControl 정렬 후 여러 항목의 인덱스 가져오기

Get multiselect rows index after sorting GridControl with DataTable DevExpress 의 GridControl 사용 시, DB로부터 받은 DataTable 형식의 데이터를 DataSource 속성에 넣었다. 12var table = new DataTable(); // from DBthis.gridControl1.DataSource = table;cs 그러면 자동으로 컬럼이 입력된다. 여기서, 선택된 Row의 Index를 가져오려면 두가지 속성을 사용할 수 있다. 출처 : DevExpress Identifying Rows and Cards 위 이미지와 같이 그냥 GetSelectedRows() 로 가져오는 것과, RowHandle로 가져오는 방법이 있..

컴퓨터/DX C# 2016.06.09

[postgresql] Error: relation does not exist

INSERT INTO 시 발생하는 에러로, 문자그대로 보면, 존재하지 않는 테이블 명을 입력했다는 것입니다. 하지만 위 사진을 보면, 분명 Object browser에 적혀있는 그대로 적었는데도 에러가 발생하는 경우가 있습니다. 이럴땐, - 해결 방법 : 테이블 명이 Uppercase, Lowercase 혼용일 경우, 쿼리에서 테이블명에 ""를 씌워주면 됩니다. "" 를 붙이냐 안붙이냐의 차이는, 쿼리를 해석할 때, '대소문자를 구분해라'라는 의미라고 합니다. 만약, 테이블명에 대소문자가 혼용되어있다면, 이를 구분해줘야하기 때문에 ""를 반드시 써야하고, 테이블명에 소문자만 있을 경우, ""를 써도 되고 안써도 된다는 것입니다. 그러므로, 테이블 명은 가능하면 모두 Lowercase로 만드는 것이 좋습니..

컴퓨터/DB 2016.06.01