일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 경기도 버스
- eventargs
- C# MDB Handle
- delegate
- JSON
- 객체지향
- eventhandler
- MDB Connect
- MDB Select
- Cell Border Style
- NUnit
- DrawRectangle
- 디자인 패턴
- 경기도 버스정보시스템
- 버스 API
- Winform
- Json.NET
- solid
- DrawEllipse
- c#
- MVC
- 공공 데이터 포털
- C# 파일 암/복호화
- C# MDB
- Excel Cell Format
- TDD
- sqlite3
- WPF
- 시
- GDI+
- Today
- Total
목록IT Engineering (149)
White Whale Studio
가끔 원격 데스크톱으로 연결하여 파일 또는 간단한 데이터를 복사 붙여넣기 해야하는 경우가 있는데 동작하지 않는 경우가 종종있다. 이럴 때 조치 방법을 기록한다. 이 현상에 대한 원인은 클립보드 관련 프로세스를 처리하는 서비스의 오류로 인한 것으로 해당 서비스를 재시작해주면 해결된다. 우선 작업 관리자를 실행 작업 관리자 실행 방법은 대표적으로 3가지가 있다. 1. Ctrl + Alt + Del 키 조합으로 작업 관리자 실행하기 위와 같은 화면에서 작업 관리자 (Task Manager) 클릭하여 실행 2. 윈도우 시작 버튼에서 우클릭하여 작업 관리자 (Task Manager) 실행 3. 작업표시줄에서 우클릭하여 작업 관리자 (Task Manager) 실행 위와 같은 방법 중 하나를 선택하여 작업 관리자를 ..
이번 포스팅은 약간 보너스 느낌의 포스팅입니다. 굳이 MDB파일이 아니라 다른 파일도 사용가능합니다. 다만 MDB파일의 경우 날것그대로 정보가 너무 쉽게 노출이 되다보니 파일의 암호화하여 쉽게 노출되지 않도록 하기 위한 방법입니다. 자체적으로 MDB에 비밀번호를 거는 방법도 있는 것으로 알고 있는데 인터넷에 버젓이 이 비밀번호를 파훼하는 방법이 있더라구요. 그래서 다르게 찾은 이 방법은 CryptoStream을 활용하여 암호화하는 방식이라 비밀번호 파훼법은 의미가 없을듯합니다. Encrypt 소스는 다음과 같습니다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 3..
[C# & MDB - 1] Connect & Select 포스팅에 이어 해당 포스팅에서는 Insert, Update, Delete를 살펴봅니다. Insert 코드는 다음과 같습니다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 private void Insert() { var con = new OleDbConnection(connStr); var cmd = new OleDbCommand(); cmd.Connection = con; cmd.CommandText = "INSERT INTO TB_USER ([USER_ID], [EMAIL], [UPD_DATE])" + "values (@USER_ID, @EMAIL, @UPD_DATE);"; cmd.Parameters.AddWithVal..
MDB는 MS-Access 에서 사용하는 데이터베이스 확장자입니다. 컴팩트하고 MS-Access라는 UI를 통해 데이터베이스를 간편하게 구축하고 사용할수 있는 장점이 있습니다. 또한 단일 파일 베이스의 DB인지라 복잡도가 낮은 프로그램에 사용하면 좋습니다. 이번에는 MDB를 C#(Winform)과 연결하고 각 쿼리를 사용하여 제어하는 포스팅을 시리즈로 작성할 예정입니다. - Connect & Select : 연결 및 데이터 조회 - Update, Insert, Delete - 보너스, DB파일의 암/복호화 Connect & Select 참조해야할 DLL은 System.Data.OleDb 입니다. Connection String은 다음과 같습니다. 1 private string connStr = @"Pro..
현재 제가 필요했던 시나리오는 다음과 같습니다. 1. 프로그램을 실행 2. 프로그램이 실행이 되어있는줄 모르고 재실행을 할 경우, 중복실행 알림 메시지를 띄우지 않고 기존 프로그램을 재활성화 하기 일반적으로는 기존 프로그램을 살려두고 다음으로 실행하는 프로그램에서 중복 실행되었음을 판단하여 화면에 표시하도록 하는 프로세스를 사용하였는데 위와 같은 프로세스도 괜찮은 듯하여 작업해보았습니다. 소스는 다음과 같습니다. 주석을 보시면서 참고하시면 편할것 같네요. [DllImport("user32.dll")] public static extern int FindWindow(string lpClassName, string lpWindowName); [DllImportAttribute("user32.dll")] pu..
해당 내용은 Microsoft.Office.Interop.Excel DLL을 사용했을때의 사용법입니다. Cell Border 스타일 지정하기 Cell Border는 Microsoft.Office.Interop.Excel.Range 개체에 대해 지정 가능합니다. 아래와 같이 Cell 범위로 range를 지정한 뒤 해당 range에 대해 LineStyle을 지정할수 있습니다. 특정 셀에 배경을 입히거나 텍스트 색상을 변경하는 경우 또는 셀의 데이터 형식을 바꾸고자 하는 경우에는 아래 코드를 참고하시기 바랍니다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 private void SetBorderStyle() { //// 범위 Border 선 스타일 Micr..
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 /****** SSMS의 SelectTopNRows 명령 스크립트 ******/ -- 반복할 횟수 정의 declare @cnt int = 500 -- 임시 테이블 정의 declare @tmp table ( CallIDKey nvarchar(128) ) -- 반복분 시작 while @cnt >= 0 BEGIN -- 임시 테이블에 입력된 데이터 초기화 delete from @tmp -- 임시테이블에 조건에 해당하는 항목들 INSERT insert @tmp Select TOP 1000 idx from TB_DATA where LEN(keyData) 0 TH..
C#에서 바로가기 아이콘을 생성하기 아래와 같이 COM 참조를 하여 Windows Script Host Object Model을 참조한다. using 으로 IWshRuntimeLibrary 를 추가해주고 다음과 같이 코딩한다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 static WshShell wsh = new WshShell(); /// /// 바로가기 생성 /// static void CreateShortCut() { try { string path = Environment.GetFolderPath(Environment.SpecialFolder.DesktopDirectory); wsh = new WshShell(); IWshRunti..
대구에서 학교를 다니며 석사과정의 끝이 다가올즈음 교수가 직접 추전해준 회사들은 많지도 않았지만 계약직같은 개똥같은 자리만 추천을 해주길래 아, 이 사람 믿어서는 안되겠다 싶은 생각에 직접 구직을 시작했다. 정말 쥐뿔도 몰랐던 당시에 C# 을 사용한다는 이유하나만으로 고른 중소기업.. 지금 생각해보면 장단점이 있긴했지만 솔직히 조금 후회되는 부분이 많았다. 회사 인원은 12~15명정도로 유동적이었고 사장과 사장 가족이 직원으로 있는 전형적인 가족회사였다. 사장은 ㅈㄹ맞았지만 과장으로 있었던 사장 동생은 생각보다 갑질이나 권위주의적인 모습은 모여주지 않아 그나마 다행이었다. 또한 초봉도 당시 대졸 연봉에 비해 비슷한 수준에 석사를 마치면 200을 더 올려주는 조건까지 거의 1년에 초봉에서 400을 넘게 수..
생각보다 구글링 했을떄 OleDB 연동 자료가 없어서 생각보다 시간이 좀 오래걸렸다. 외국문헌 보면서 하다보니 상황에 안맞는 코드들도 많고.. 이리저리 해보다가 정상동작하는게 있어서 다음과 같이 정리한다. 1. Connection 2. DataSet Results를 받는 쿼리 실행 3. DataSet Results를 받지않는 쿼리 실행 4. Procedure 실행 위와 같이 기록한다. 1. Connection 정말 별거 아닌데 ConnectionString을 제대로 못잡아서 안되는 경우가 종종있었다. (그래서 짜증...) 1 ConnectionString = string.Format("Provider=OraOLEDB.Oracle;Data Source={0};User ID={1};Password={2};P..