본문 바로가기
C#/윈폼

mssql 윈폼 연동

by hoshi03 2024. 9. 25.

mssql 설치 후 데이터베이스에 새 데이터베이스를 추가한다

 

• db 연결

 

데이터베이스에 우클릭해서 새 데이터베이스를 만들어주고 .cs 파일에서 sqlconnection으로 mssql에 접속한다

 

        //db연동을 위한 클래스
        private SqlConnection sqlConnection = null;
        //ip, 포트, db이름, id, pw 순으로 connectionstring에 삽입
        private string connectionString ="SERVER=127.0.0.1,1433;DATABASE=test;UID=sa;PASSWORD=1111";

 

        private void btn1_Click(object sender, EventArgs e)
        {
            try
            {
                sqlConnection = new SqlConnection(connectionString);
                sqlConnection.Open();
                MessageBox.Show("연결 성공!");

            }

            catch (Exception ex)
            {
                MessageBox.Show("연결 실패!");

            }
        }

 

만약 접속이 불가능하면 SQL 서버 구성 관리자 tcp/ip 쪽의 프로토콜 사용, 포트 번호를 열어주기를 하면 된다

하지만 위의 방법은 cs 파일에 하드코딩된 방법이기에 설정 파일에 저장하고 가져가는 방식으로 바꿔주자

App.config 파일을 사용해서 db 접속하자

 

솔루션에 잇는 App.config 파일을 수정한다

appsetings를 추가하고 db 접속에 필요한 정보를 키/값으로 추가한다

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
    <startup> 
        <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.7.2" />
    </startup>
  <appSettings>
    <add key="IP" value="127.0.0.1"/>
    <add key="PORT" value="1433"/>
    <add key="DATABASE" value="test"/>
    <add key="UID" value="sa"/>
    <add key="PASSWORD" value="1111"/>
  </appSettings>
</configuration>

 

솔루션탐색기 참조 - 참조추가 - 어셈블리 - system.configuration 을 확인하면 솔루션 탐색기에 추가된다

 

추가한 후 아래처럼 ConfigurationManager.AppSetting["키"] 형태로 value를 가져올 수 있다

        //ip, 포트, db이름, id, pw 순으로 connectionstring에 삽입
        private string connectionString = "SERVER=" + ConfigurationManager.AppSettings["IP"] +","+ ConfigurationManager.AppSettings["PORT"] +
            ";DATABASE=" + ConfigurationManager.AppSettings["DATABASE"] + ";UID=" + ConfigurationManager.AppSettings["UID"] +
            ";PASSWORD="+ConfigurationManager.AppSettings["PASSWORD"];

 

디버그용으로 콘솔 로그를 찍기 위해 솔루션 - 프로젝트 속성에서 출력 형식을 콘솔 어플리케이션으로 만들어준다

'C# > 윈폼' 카테고리의 다른 글

저장프로시저  (2) 2024.10.06
윈폼 CRUD  (0) 2024.09.25
사용자 정의 컨트롤러  (0) 2024.09.21
단일 프로세스  (0) 2024.09.21
이벤트  (0) 2024.09.21