C#
C# DB connection
용성
2022. 1. 27. 11:00
DataBase
DBCon.cs
class DBcon
{
private static SqlConnection conn = null;
public static string DBConnString { get; private set; }
public static bool bDBConnCheck = false;
private static int errorBoxCount = 0;
public DBcon() { }
public static SqlConnection DBConn
{
get
{
if (!ConnectToDB())
{
return null;
}
return conn;
}
}
/// Database 접속 시도
public static bool ConnectToDB()
{
if (conn == null)
{
//서버명, 초기 DB명, 인증 방법
DBConnString = String.Format("Data Source=({0});Initial Catalog={1};Integrated Security={2}; Timeout=3", "local", "dragon", "SSPI");
conn = new SqlConnection(DBConnString);
}
try
{
if (!IsDBConnected)
{
conn.Open();
if (conn.State == System.Data.ConnectionState.Open)
{
bDBConnCheck = true;
}
else
{
bDBConnCheck = false;
}
}
}
catch (SqlException e)
{
errorBoxCount++;
if (errorBoxCount == 1)
{
}
return false;
}
return true;
}
/// Database Open 여부 확인
public static bool IsDBConnected
{
get
{
if (conn.State != System.Data.ConnectionState.Open)
{
return false;
}
return true;
}
}
/// Database 해제
public static void Close()
{
if (IsDBConnected)
DBConn.Close();
}
}
Form1.cs
public partial class Form1 : Form
{
private DataTable data_table = null;
public Form1()
{
InitializeComponent();
try
{
lock (DBcon.DBConn)
{
if (!DBcon.IsDBConnected)
{
MessageBox.Show("db연결 안됨");
return;
}
else
{
SqlDataAdapter adapter = new SqlDataAdapter("select * from [dragon].[dbo].[user]", DBcon.DBConn);
data_table = new DataTable();
try
{
adapter.Fill(data_table);
dataGridView1.DataSource = data_table;
dataGridView1.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.Fill;
}
catch
{
MessageBox.Show("데이터 없음");
}
DBcon.Close();
}
}
} catch
{
MessageBox.Show("gridBox 오류");
}
}
}
728x90