EMDI는 지금도 개발중

C# : 데이터베이스 연결 및 MS-SQL 쿼리 쓰기 본문

언어/C#

C# : 데이터베이스 연결 및 MS-SQL 쿼리 쓰기

EMDI 2020. 3. 31. 14:14

C#에서 데이터베이스 연동과 쿼리를 실행하는 방법에 대해 써보도록 하겠습니다. 데이터베이스는 MSSQL을 기준으로 작성하였습니다.

1. DB연결 및 파라미터 없는 쿼리 실행

using System.Data.SqlClient; 			// sqlConnection을 사용하기 위해 필요한 using

// 전역변수
//DB connection
SqlConnection sqlConnection = new SqlConnection(); 			

string strDataBase = "dbName";			//Database
string strIP = "127.0.0.1";			//Ip
string strPort = "3433";			//Port
string strID = "user";				//ID
string strPW = "12345";				//PW

public int connSql()
{
	try
    {
    	// DB 접속 정보
    	string constring = "server=" + strIP + "," + strPort + ";database=" + strDataBase + ";uid=" + strID + ";pwd=" + strPW;
    	// 접속정보를 적용
        sqlConnection.ConnectionString = constring;
        // DB연결
        sqlConnection.Open();
        
        //조회 결과 데이터셋
        DataSet dsResult = new DataSet();
        string sqlText = "SELECT * FROM TABLENAME";

        SqlDataAdapter Ldap = new SqlDataAdapter(srQuery, sqlConnection);
   	//조회결과 저장
  	Ldap.Fill(dsResult);
    
    }
    catch(Exception ex)
    {
    	sqlConnection.Close();
    }
}

우선 데이터베이스가 있다는 가정하에 코딩을 해보도록하겠습니다. SqlConnection은 SQL Server를 연결하기 위해 씁니다. SqlDataAdapter는 쿼리가 적혀있는 string변수와 SqlConnection을 이용하여 DB에 연결하고 해당 쿼리에서 나오는 결과값을 DataSet에 담아줍니다.

 

2. DB연결 및 파라미터가 있는 경우 쿼리 실행

using System.Data.SqlClient; 			// sqlConnection을 사용하기 위해 필요한 using

// 전역변수
//DB connection
SqlConnection sqlConnection = new SqlConnection(); 			

string strDataBase = "dbName";			//Database
string strIP = "127.0.0.1";			//Ip
string strPort = "3433";			//Port
string strID = "user";				//ID
string strPW = "12345";				//PW

public int connSql()
{
	try
    {
    	// DB 접속 정보
    	string constring = "server=" + strIP + "," + strPort + ";database=" + strDataBase + ";uid=" + strID + ";pwd=" + strPW;
    	// 접속정보를 적용
        sqlConnection.ConnectionString = constring;
        // DB연결
        sqlConnection.Open();
        
        //조회 결과 데이터셋
        DataSet dsResult = new DataSet();
        string sqlText = "SELECT * FROM TABLENAME WHERE COLUMN1 = @VALUE1 AND COLUMN2 = @VAULE2";

        SqlDataAdapter Ldap = new SqlDataAdapter(srQuery, sqlConnection);
        //VALUE1과 VALUE2를 설정
        Ldap.SelectCommand.Parameters.Add(new SqlParameter("@VALUE1", "변수1"));
        Ldap.SelectCommand.Parameters.Add(new SqlParameter("@VAULE2", "변수2"));
        
   	//조회결과 저장
  	Ldap.Fill(dsResult);
    
    }
    catch(Exception ex)
    {
    	sqlConnection.Close();
    }
}

이번에는 SELECT문에서 WHERE절이 있는 경우에 어떻게 해야할지 알아봅시다. 우선 WHERE이 있는 경우 비교해야할 파라미터가 필요한데 해당 파라미터를 설정하는 방법은 SelectCommand.Parameters.Add를 사용하면 됩니다.

단, VALUE1과 VALUE2를 사용하실 때 꼭 값 앞에 @를 붙여주세요. 그냥 VALUE1만 쓰시면 오류가 납니다.

Comments