01.

더보기

1.

 

 

 

 

 

02.

더보기

1.

 

 

2.

 

 

3.

public class Contact
{
    public int Id { get; set; }
    public string Name { get; set; }
    public string Email { get; set; }
    public string Phone { get; set; }
}

 

 

 

 

 

03.

더보기

1.

 

 

2.

 

 

3.

// AddNewContactWindow 윈도우의 입력 TextBox 컨트롤에서 값을 가져와
// Contact 데이터 모델 객체의 필드에 각각 값을 할당한다.
Contact contact = new Contact()
{
    // 모델에서 Id 필드는 [PrimaryKey, AutoIncrement] 이기 때문에
    // 값을 지정하지 않아도, PK는 자동으로 AutoIncrement 된다.
    // 그외 Name, Email, Phone 필드 프로퍼티에 값을 할당한다.
    Name = nameTextBox.Text,
    Email = emailTextBox.Text,
    Phone = PhoneTextBox.Text
};

 

 

4.

// SQLite DB 파일 이름 지정
string databaseName = "Contacts.db";

// 내문서 경로 가져오는 방법
//string forderPath = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments);
// 현재 프로젝트 실행 경로 가져오는 방법 (프로젝트\bin\Debug\net8.0-windows)
//string forderPath = Environment.CurrentDirectory;

// 현재 프로젝트 경로 가져오기
string projectPath = "../../../";
// 생성될 DB 경로(현재 프로젝트 경로 + 파일이름) 지정
string databasePath = System.IO.Path.Combine(projectPath, databaseName);

 

 

5.

// 지정된 경로에 생성할 DB 연결 객체 생성
SQLiteConnection connection = new SQLiteConnection(databasePath);
// Contact 클래스 정의를 기반으로 SQLite DB Table 생성 (테이블이 없을 경우, 있으면 X)
connection.CreateTable<Contact>();

 

 

6.

// UI 컨트롤에 입력된 데이터를 Contact 객체 형태로, 생성한 SQLite DB Table에 삽입
connection.Insert(contact);

// DB 연결을 닫음 (임시 구현)
connection.Close();

 

 

7.

 

 

 

 

 

04.

더보기

1.

// 지정된 경로에 생성할 DB 연결 객체 생성
// using 문을 벗어나면, connection 객체가 자동 메모리 해제됨
using (SQLiteConnection connection = new SQLiteConnection(databasePath))
{
    // Contact 클래스 정의를 기반으로 SQLite DB Table 생성 (테이블이 없을 경우, 있으면 X)
    connection.CreateTable<Contact>();

    // UI 컨트롤에 입력된 데이터를 Contact 객체 형태로, 생성한 SQLite DB Table에 삽입
    connection.Insert(contact);
}

 

 

2.

using 문 범위를 벗어나면, 객체가 자동 제거됨.

 

 

3.

 

 

 

 

 

05.

더보기

1.

// SQLite DB 파일 이름 지정
static string databaseName = "Contacts.db";
// 현재 프로젝트 경로 가져오기
static string projectPath = "../../../";
// 생성될 DB 경로(현재 프로젝트 경로 + 파일이름) 지정
public static string databasePath = System.IO.Path.Combine(projectPath, databaseName);

 

 

 

 

 

06.

더보기

1.

using (SQLiteConnection connection = new SQLiteConnection(App.databasePath))
{
    connection.CreateTable<Contact>();
    var contact = connection.Table<Contact>().ToList();
}

 

 

3.

 

 

4.

 

 

 

 

 

 

07.