일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 철도
- 스프링부트
- 8200호대
- 일본철도
- 신칸센
- 서버
- 아마존
- 기차
- linux
- 아마존 서버 배포
- tendermint
- ssh권한
- 서버간통신
- 서버 배포
- Blockchain
- WSL
- 히가시큐슈신칸센
- remote PC
- EC2
- AWS
- vscode ssh
- 열차
- 철도소식
- 스프링
- Java
- 스프링부트 배포
- 동큐슈신칸센
- 서버배포
- server to server
- 자바
Archives
- Today
- Total
사진과 컴퓨터
[c#]싱글톤으로 DB매니저 작성하기 본문
윈폼으로 프로젝트를 진행하면 데이베이스에 접근해 데이터를 INSERT하거나 UPDATE, SELECT등 여러가지로 작업을 해야할 일이 많다. 이때 매번 데이터베이스를 열고 쿼리 실행하고, 값 받고 다시 데이터베이스 닫는 일련의 과정을 거치기에는 너무 귀찮으니 해당 작업을 처리해 줄 클래스를 만들어 사용한다.
그런데 이렇게 자주 있는 작업을 그냥 클래스로 선언해주면 각 Form 이나 cs파일에서 매번 해당 클래스를 선언해야 하니 비효율적이다. 따라서 이번에는 DB에 접근해 값을 받아오는 클래스를 싱글톤으로 작성해 보았다.
internal class DBManager
{
static DBManager DBm = new DBManager();
static public DBManager GetInstance()
{
return DBm;
}
//파라미터로 쿼리를 받아 실행 후 결과를 데이터 테이블로 반환
public DataTable Execute_Query(string query)
{
using (MySqlConnection connection = new
MySqlConnection ("Data Source=(DB ip 주소); Database=(사용DB명); Uid=(id입력);
Pwd=(패스워드 입력); CharSet=utf8"))
{
connection.Open();
MySqlCommand cmd = new MySqlCommand(query,
connection);
MySqlDataReader reader = cmd.ExecuteReader();
DataTable dt = new DataTable(); //DataTable dt 정의
dt.Load(reader); //reader로 dt에 데이터 로드
connection.Close();
return dt;
}
}
}
사용법은 아래와 같다
DBManager.GetInstance().Execute_Query(query);
이렇게 작성하면 이제 프로젝트 내 어디서나 query를 실행하고 그 결과를 DataTable의 형태로 받아 볼 수 있다.
반응형
'컴퓨터' 카테고리의 다른 글
[원격 데스크톱]외부에서 컴퓨터에 원격접속 하는 방법 (0) | 2022.12.05 |
---|---|
[WSL]WSL과 Windows간 파일 옮기기 (0) | 2022.12.05 |
[C#] SHA-256 암호화 사용법 (0) | 2022.12.05 |
tendermint 로컬 테스트 진행시 노드 추가하는 법 (0) | 2022.12.04 |
[WSL]가상 저장소 위치 변경하는 법 (0) | 2022.12.01 |