WPF

WPF – Local SQL Database

 

 

  1. WPF Create and Work with Local SQL Database in your Project
  2. Walkthrough: Display data from a SQL Server database in a DataGrid control

 

 


 

1. WPF Create and Work with Local SQL Database in your Project

 

https://codedocu.com/Net-Framework/WPF/Code-Samples/Add-WPF-Local-SQL-Database-to-Application-and-Connect-Data?2140

 

https://www.youtube.com/watch?v=_1Hdk5pi8C4

 

1. mdf 데이터베이스 추가

Add New Item-> Service Based Database

 

2. 테이블 추가

Database-> Tables-> Add New Table

 

3. 테이블 작성

CREATE TABLE [dbo].[Table]
(
    [IDDetail] INT NOT NULL PRIMARY KEY,
    [URL] NVARCHAR(255) NULL,
    [Title] NVARCHAR(255) NULL,
    [Text] NVARCHAR(MAX) NULL
)

// t-sql 스크립트 에서 테이블을 변경하면 데이터를 완전히 지우게 되므로, 디자인 영역에서 바꿔야 한다.

 

4. 변경사항 저장

왼쪽 상단에 Update 버튼을 눌러서 변경사항을 저장한다.

 

5. 테이블 이름 변경

t-sql 스크립트에서 테이블의 이름을 변경하면 복사본이 생성된다.

 

6. Connection string to the database

// Database-> Properties

예) Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=C..\_data\dbWebRobot_ComputerFutures.mdf;Integrated Security=True

 

7. 데이터 업데이트

private void db_Update_Add_Record(string sURL, string sTitle)
{
    sURL = sURL.Replace("'", "''");
    sTitle = sTitle.Replace("'", "''");
    string sSQL = "SELECT TOP 1 * FROM tbl_Details WHERE [URL] Like '" + sURL + "'";
    DataTable tbl = clsDB.Get_DataTable(sSQL);
    if (tbl.Rows.Count == 0)
    {
        string sql_Add = "INSERT INTO tbl_Details ([URL],[Title],[dtScan]) VALUES('" + sURL + "','" + sTitle + "',SYSDATETIME())";
        clsDB.Execute_SQL(sql_Add);
    }
    else
    {
        string ID = tbl.Rows[0]["IDDetail"].ToString();
        string sql_Update = "UPDATE tbl_Details SET [dtScan] = SYSDATETIME() WHERE IDDetail = " + ID;
        clsDB.Execute_SQL(sql_Update);
    }
}

 

8. 데이터베이스 클래스

public static class clsDB
{
    public static SqlConnection Get_DB_Connection()
    {
        string cn_String = Properties.Settings.Default.connection_String;
        SqlConnection cn_connection = new SqlConnection(cn_String);
        if (cn_connection.State != ConnectionState.Open) cn_connection.Open();
        return cn_connection;
    }
    public static DataTable Get_DataTable(string SQL_Text)
    {
        SqlConnection cn_connection = Get_DB_Connection();
        DataTable table = new DataTable();
        SqlDataAdapter adapter = new SqlDataAdapter(SQL_Text, cn_connection);
        adapter.Fill(table);
        return table;
    }
    public static void Execute_SQL(string SQL_Text)
    {
        SqlConnection cn_connection = Get_DB_Connection();
        SqlCommand cmd_Command = new SqlCommand(SQL_Text, cn_connection);
        cmd_Command.ExecuteNonQuery();
    }
    public static void Close_DB_Connection()
    {
        string cn_String = Properties.Settings.Default.connection_String;
        SqlConnection cn_connection = new SqlConnection(cn_String);
        if (cn_connection.State != ConnectionState.Closed) cn_connection.Close();
    }
}

 

 

 

 


 

2. Walkthrough: Display data from a SQL Server database in a DataGrid control

 

https://docs.microsoft.com/en-us/dotnet/desktop/wpf/controls/walkthrough-display-data-from-a-sql-server-database-in-a-datagrid-control?view=netframeworkdesktop-4.8

 

 

 

 

Related posts

Leave a Comment