반응형
C# Postgresql DB 연동하기..
Postgresql DB를 연동하기 전에 우선 Npgsql 패키지를 참조해야 한다.
Npgsql 패키지 참조 방법
1. 프로젝트 우측 클릭 후 Nuget 패키지 관리
2. 찾아보기 탭에서 Npgsql 입력 후 검색
3. Npgsql 패키지 다운로드(최신버전으로 다운)
command.Parameters.AddWithValue("A", 데이터1);
command.Parameters.Add("A", 데이터1);
둘다 잘 동작한다
원래 Parameters.Add("A", type) 메소드는 이런 형식으로 해줘야 한다고 한다..
연동하면서 생긴 문제
1. SELECT 구문을 이용할 때 내림차순으로 정렬하기 위해 ORDER BY 컬럼명 DESC 을 하였지만 반응이 없었다
그 이유는 구문에서 테이블 컬럼 인식을 못한거였었다.. 많이 시간 동안 찾아보고 .. 해서 알게 되었는데
구문에 \"컬럼명\" 이런 형식으로 입력을 해주게 되면 인식을 하는 것이었다..
2. 비트형식인 데이터를 저장할 땐 데이터 형변환을 통해 저장해야 한다는 점..
//DB 연동 메소드
public void DB()
{
//POSTGRESQL DB 연결 정보
string connString = "HOST=IP;PORT=5432;USERNAME=postgres;PASSWORD=PW;DATABASE=postgres";
//POSTGRESQL db 오픈
using (var conn = new NpgsqlConnection(connString))
{
try
{
conn.Open();
// DB INSERT 구문
using (var command = new NpgsqlCommand())
{
command.Connection = conn;
command.CommandText = "INSERT INTO 테이블명 VALUES(@A, @B, @C, @D)";
command.Parameters.AddWithValue("A", 데이터1);
command.Parameters.AddWithValue("B", 데이터2);
command.Parameters.AddWithValue("C", 데이터3);
command.Parameters.AddWithValue("D", 데이터4);
command.ExecuteNonQuery();
}
//DB SELECT 구문
using (var command = new NpgsqlCommand())
{
command.Connection = conn;
//컬럼 이용시 \"컬럼명\"
//SELECT 모든 데이터 검색 및 내림차순 정렬
command.CommandText = "SELECT * FROM 테이블 명 ORDER BY 컬럼명 DESC ";
using (var reader = command.ExecuteReader())
{
while (reader.Read())
{
AppendText(txtDB, "데이터 읽기");
var Data = new String[] {
reader["A"].ToString(),
reader["B"].ToString(),
reader["C"].ToString(),
reader["D"].ToString(),
};
foreach (var i in Data)
{
AppendText(txtDB, "Select 된 데이터 :" + i);
}
reader.Close();
}
}
}
}
catch (Exception e)
{
//AppendText(txtDB, "에러입니다");
}
conn.Close();
}
[C#] - C# Postgresql DB 트랜잭션 사용하기
[PostgreSQL] - PostgreSQL 원격접속하는 방법
방문자 분들 모두 즐거운 하루, 행복한 하루 보내세요!
반응형
'C#' 카테고리의 다른 글
C# ini 파일 이용하기 (0) | 2019.07.19 |
---|---|
C# Byte 배열로 형변환 하기 (0) | 2019.07.15 |
C# 폼에서 폼으로 파라미터 인수 넘기기 (0) | 2019.04.17 |
C# TCP/IP Client Part.3 (9) | 2019.03.26 |
C# TCP/IP Client Part.2 (0) | 2019.03.22 |