VisualStudio: 2개의 글

C# SqLite 사용하기 - 3편

Posted by 고 고특파원
2019. 6. 26. 23:20 프로그래밍/C#

현재 글을 보기전에 1편과 2편을 보지 않았다면 아래링크를 통해서 이전 글을 보고 오길바란다.

 

2019/06/20 - [프로그래밍/C#] - C# SQLite 사용하기 - 1편

 

C# SQLite 사용하기 - 1편

가끔씩 C#을 이용하여 프로그램을 만들 때 간단한 DB를 사용해야 하는 경우가 생긴다. MSSQL Express버전을 사용하기엔 너무 무겁고, 개인적으로 Access를 이용한 MDB를 선호하지 않는다.. 이럴 때 Sqlite를 사용..

maelife.tistory.com

 

 

2019/06/23 - [프로그래밍/C#] - C# SQLite 사용하기 - 2편

 

C# SQLite 사용하기 - 2편

2. SQLite3.exe 실행파일 다운로드 이전 기본 셋팅하는 글을 보지 않고 넘어 왔다면, 이전글 참조 후 다음 글로 넘어 오시길 바랍니다. 2019/06/20 - [프로그래밍/C#] - C# SQLite 사용하기 - 1편 SQLite3.exe를..

maelife.tistory.com

 

그럼 이제 VisualStudio를 실행하여 간단한 응용프로그램을 만들어 보도록 한다.

 

 

 

간단한 Windows 응용프로그램 프로젝트를 생성한다.

 

데이터베이스 접속 테스트를 위한 버튼을 다음과 같이 배치한다.

 

그리고 2편에서 만든 mydb.db 파일을 프로젝트에 추가하도록 한다.

 

 

솔루션탐색기에서 database라는 폴더를 생성하고 폴더안에 mydb.db 파일을 추가한다.

 

배포하기 위해 output Directory를 항상 'Copy always' 설정을 하면 된다.

 

 

다음으로 소스 부분을 보도록 한다.

 

public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();

            this.btnConncet.Click += btnConncet_Click;
            this.btnSelect.Click += btnSelect_Click;
            this.btnInsert.Click += btnInsert_Click;
            this.btnDelete.Click += btnDelete_Click;
        }

        
        /// <summary>
        /// DB연결
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnConncet_Click(object sender, EventArgs e)
        {

            //string strConn = @"Data Source=C:\sqlite\mydb.db";
            string strConn = String.Format("Data Source={0}", Application.StartupPath + @"\database\mydb.db");
            
            using (SQLiteConnection conn = new SQLiteConnection(strConn))
            {
                conn.Open();

                //string sql = "INSERT INTO member VALUES (100, 'Tom')";
                //SQLiteCommand cmd = new SQLiteCommand(sql, conn);
                //cmd.ExecuteNonQuery();

                //cmd.CommandText = "DELETE FROM member WHERE Id=1";
                //cmd.ExecuteNonQuery();

                conn.Close();
            }

        }

        private void btnSelect_Click(object sender, EventArgs e)
        {
            DataSet ds = new DataSet();
            //string strConn = @"Data Source=C:\sqlite\mydb.db";
            string strConn = String.Format("Data Source={0}", Application.StartupPath + @"\database\mydb.db");

            //SQLiteDataAdapter 클래스를 이용 비연결 모드로 데이타 읽기
            string sql = "SELECT * FROM test1";
            var adpt = new SQLiteDataAdapter(sql, strConn);
            adpt.Fill(ds);

        }

        private void btnInsert_Click(object sender, EventArgs e)
        {
            string strConn = String.Format("Data Source={0}", Application.StartupPath + @"\database\mydb.db");

            using (SQLiteConnection conn = new SQLiteConnection(strConn))
            {
                conn.Open();
                string sql = "INSERT INTO test1 VALUES (2, '하이여')";
                SQLiteCommand cmd = new SQLiteCommand(sql, conn);
                cmd.ExecuteNonQuery();

                
            }
        }

        private void btnDelete_Click(object sender, EventArgs e)
        {
            string strConn = String.Format("Data Source={0}", Application.StartupPath + @"\database\mydb.db");

            using (SQLiteConnection conn = new SQLiteConnection(strConn))
            {
                conn.Open();
                string sql = "DELETE FROM test1 WHERE id=1";
                
                SQLiteCommand cmd = new SQLiteCommand(sql, conn);
                cmd.ExecuteNonQuery();
                
            }
        }

 

C#에서 제공하는 SQLiteConnection을 이용하여 데이터베이스에 접속 하고 관리할 수있다.

 

데이터베이스 연결문자열은 실제 프로젝트가 빌드되고 난 후의 위치를 잡아야 하기 때문에

Application.StartupPath 를 이용하여 *.db 파일이 있는 위치를 잡아주었다.

 

이처럼 C# 응용프로그램을 이용하여 무언가를 만들때 간단한 DB가 필요할때 SQLite를 이용하는것도 괜찮은 방법인것 같다.

이 댓글을 비밀 댓글로

C# SQLite 사용하기 - 1편

Posted by 고 고특파원
2019. 6. 20. 23:54 프로그래밍/C#

 

가끔씩 C#을 이용하여 프로그램을 만들 때 간단한 DB를 사용해야 하는 경우가 생긴다.

 

MSSQL Express버전을 사용하기엔 너무 무겁고, 개인적으로 Access를 이용한 MDB를 선호하지 않는다..

 

이럴 때 Sqlite를 사용하면 쉽고 간단하게 파일 DB를 사용할 수 있다.

 

그렇다면 Sqlite를 사용하는법에 대해 알아보도록 한다.

 

 

1. SQLite3 다운로드

Sqlite를 사용하기 위해 다운로드를 하고 설치를 하는 방법은 두 가지 방법이 있다.

 

1) http://system.data.sqlite.org << 해당 링크에 가서 .Net 버전에 맞게 바이너리를 다운로드하여 설치를 한다.

 

내 프로그램 개발 버전은 .netframwork 4.0에 64bit이므로 저걸 다운로드하여 설치하면 될 것 같다.

Sqlite 다운로드 홈페이지

물론 위의 방법처럼 직접 다운로드하려면 생각할게 많으니 나는 다르게 설치를 해보도록 하겠다. 어떻게??

 

두 번째 방법을 보도록 하겠다.

 

2) VisualSutdio의 Nuget 패키지 매니저를 활용하여 설치를 한다.

 

Package Manage Console

비주얼 스튜디오의 Tools-> NugetPackageManager -> Package Manager Console을 선택하면, 아래와 같이 

콘솔 창이 하나 열린다.

 

콘솔 창에 다음과 같은 명령어를 입력하여 Nuget패키지를 이용하여 알아서 설치하는 방법이다.

 

Install-Package System.Data.SQLite

 

개인적으로는 위 방법을 추천한다. 뭔가 필요 없는 것까지 깔리는 느낌이긴 한데, 이도 저도 아니고 헷갈리니 이렇게 해결하는 것도 좋을 것 같다..

 

 

실제 프로젝트파일이 있는 경로로 가보면 위 그림처럼, Packages라는 폴더가 자동으로 생긴다. Nuget을 이용하여 Sqlite를 설치함으로써 생기는 폴더이니 삭제하면 안된다!

 

폴더 내부에 들어가서 보면 SQLite를 사용할때 필요한 dll 파일들이 존재한다.

Nuget을 이용하여 설치하면 프로젝트참조 경로까지 알아서 잡아주므로 개발자는 소스만 신경 쓰면 된다.

 

일단 여기까지 하면 Sqlite를 사용하기 위한 개발환경 셋팅은 끝이났고, 다음 포스팅에서 Sqlite DB 생성 및 DB데이터를 조작하는 방법에 알아보도록 하겠다.

이 댓글을 비밀 댓글로