일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- c#
- MDB Connect
- NUnit
- C# 파일 암/복호화
- Excel Cell Format
- Json.NET
- GDI+
- Cell Border Style
- DrawEllipse
- 공공 데이터 포털
- 시
- eventhandler
- TDD
- 디자인 패턴
- DrawRectangle
- 버스 API
- MVC
- eventargs
- delegate
- MDB Select
- 경기도 버스
- JSON
- 객체지향
- Winform
- C# MDB
- WPF
- 경기도 버스정보시스템
- sqlite3
- solid
- C# MDB Handle
- Today
- Total
목록IT Engineering/C#.net (34)
White Whale Studio
이번 포스팅은 약간 보너스 느낌의 포스팅입니다. 굳이 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..
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..
생각보다 구글링 했을떄 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..
연동 작업을 하다보니 고객사 오라클 캐릭터셋이 US7ASCII 로 되어 있는데 연결이 문제가 아니라 한글이 깨져서 나오는 심각한 문제가 발생했다. 구글링을 통해서 레지스트리 변경, 환경변수 설정, 코드에서 환경 설정 등 별에 별짓을 다해봤는데 결국 한글은 나오지 않았다. 그 이유인 즉슨 ----------------------------------------------------- 언뜻 보기에는 US7ASCII도 한글을 지원하는 것처럼 보이지만, 사실은 한글이 저장되는 것이 아니고, 한글을이진코드 형태로 변환하여 저장 및 출력하는 형태다. US7ASCII 는 영문글자만을 위한 코드인데 8bit중 7bit만 사용하고 나머지 1비트는 패리티 비트로 사용됩니다. --------------------------..
C#에서 데이터를 읽을 때 System.Data.Common.DbDataReader를 사용할 경우가 있습니다. 구조체를 활용해서 직접 변환을 하는 경우도 있지만 데이터 타입이 맞지 않는 경우 오류가 발생하기도 합니다. 예를들어 구조체 (여기서는 MODEL)로 바로 변환한다고 하면 List resultsList = r.ToList(); 위와 같이 변환이 됩니다만.. 일부 컬럼의 경우 데이터 타입이 안맞는 경우 쓰레기 값이 들어가기도 합니다. 따라서 이러한 경우 각 컬럼에 필요한 데이터 타입에 맞게 설정을 직접 해줘야하는 경우가 있을수 있습니다. 이러한 경우에 대해 살펴봅니다. 1 2 3 4 5 6 7 8 9 10 11 12 while (r.Read()) { MODEL model = new MODEL(); ..
참고 사이트XULRunner - https://developer.mozilla.org/ko/docs/XULRunnerGeckoFX DLL Download - https://bitbucket.org/geckofx/geckofx-22.0/downloads 해당 패키지 사용목적은 C# 프로그램에서 호환성이 떨어지는 기본 WebBrowser 컨트롤을 대체할 목적으로 사용됩니다.Mozilla FireFox의 엔진입니다. 우선 위의 참고 사이트에서 필요한 압축파일을 다운받습니다.버전은 동일하게 맞춰주시면 됩니다. 저의 경우 22.0XXulRunner, GeckoFX DLL이 포함된 압축파일 2개XulRunner 22.0 버전http://ftp.mozilla.org/pub/xulrunner/releases/22.0/..