기본정보
비주얼 스튜디오 2010에서 C# WPF를 통해 MariaDB에 저장된 데이터를 불러오는 방법에 대해 알아보겠습니다.
처음 준비해야할 사항은 비주얼 스튜디오 2010, Maria DB 설치, MySQL Connector/Net(6.8버젼)이 있어야 합니다.
결과 화면
일단 결과 화면을 보여드리겠습니다.
위와 같이 간단하게.. 이름과 나이를 불러오는 코드입니다. 먼저 MariaDB를 설치하셨으면 기본 아이디는 root 패스워드는 0000으로 설정돼 있을 거에요. 간단한 DB를 만들고 데이터를 넣는 작업부터 해보도록 할께요.
DB 설정
MariaDB CMD창을 열고 패스워드 입력 후 디비부터 만들어 보도록 하겠습니다.
1. DATABASE를 원하는 이름으로 만들어주세요.
CREATE DATABASE itpro;
2. 해당 데이터 베이스로 이동(use itpro) 후, 테이블을 만들어주세요.
CREATE TABLE address (
name VARCHAR(50),
age INT
);
3. 해당 테이블에 값을 넣어줍니다.
INSERT INTO address VALUES('john', 25);
이렇게 여러개의 데이터를 넣어 주시면 해당 테이블의 데이터가 들어간 것을 확인할 수 있습니다.
프로젝트 실행
그런 다음 비주얼 스튜디오를 열고 코드를 넣고 Mysql커넥터를 참조해서 데이터를 확인하는 작업을 할 예정입니다.
1. 프로젝트 만들기(WPF)
2. 참조 메뉴에서 MySQL Connect를 참조해야 DB와 연동이 되기때문에 참조 작업을 수행해 줍니다.
참조 추가를 누르고 찾아보기에서 저 파일(C:\Program Files (x86)\MySQL\MySQL Connector Net 6.8.8\Assemblies\v4.0에 있음) 추가해주세요.
3. 이제 윈도우 폼을 만들고 데이터를 연결하는 코드만 작업하면 끝이납니다.
<Window x:Class="ConnectMaria.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="350" Width="620">
<Grid Height="350" Width="625" Background="Yellow" >
<TextBlock Height="32" HorizontalAlignment="Left" Margin="16,15,0,0" Name="textBlockHeading" Text="주소록"
VerticalAlignment="Top" Width="310" FontSize="20" FontStretch="Normal"/>
<Grid HorizontalAlignment="Left" Height="310" VerticalAlignment="Top" Width="625">
<DataGrid AutoGenerateColumns="False" HorizontalAlignment="Left" Margin="14,55,0,46" Name="dataGridCustomers"
Width="575" ItemsSource="{Binding Path=LoadDataBinding}" CanUserResizeRows="False">
<DataGrid.Columns>
<DataGridTextColumn Binding="{Binding Path=name}" Header="이름" Width="300" IsReadOnly="True" />
<DataGridTextColumn Binding="{Binding Path=age}" Header="나이" Width="275" IsReadOnly="True" />
</DataGrid.Columns>
</DataGrid>
<Button Content="데이터 불러오기" Height="25" HorizontalAlignment="Left" Margin="487,275,0,0" Name="btnloaddata"
VerticalAlignment="Top" Width="100" Click="btnloaddata_Click"/>
</Grid>
</Grid>
</Window>
4. 윈도우 폼을 추가해주고 .cs에서 코드 몇 줄 작업해주면 완료됩니다.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
using MySql.Data.MySqlClient;
using System.Data;
namespace ConnectMaria
{
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
}
// 버튼 클릭시 데이터를 불러오는 작업
private void btnloaddata_Click(object sender, RoutedEventArgs e)
{
string connectionString = "SERVER=localhost;DATABASE=itpro;UID=root;PASSWORD=0000;";
MySqlConnection connection = new MySqlConnection(connectionString);
try
{
connection.Open();
MySqlCommand cmd = new MySqlCommand("SELECT * FROM address", connection);
MySqlDataAdapter adp = new MySqlDataAdapter(cmd);
DataSet ds = new DataSet();
// 윈도우 폼의 LoadDataBinding에 데이터 넣기
adp.Fill(ds, "LoadDataBinding");
dataGridCustomers.DataContext = ds;
}
catch (MySqlException ex)
{
MessageBox.Show(ex.ToString());
}
finally
{
connection.Close();
}
}
}
}
위 처럼 자신의 데이터베이스를 입력하고 아이디, 패스워드를 넣고 아까전에 참조한 MySql.Data의 객체들을 가져다가 작업한 결과입니다.
이렇게 하고 실행하면 큰 문제없이 작동되는 것을 확인할 수 있습니다.
'Programming > C# WPF' 카테고리의 다른 글
[C# WPF] Button Style Custom 방법 (0) | 2019.06.12 |
---|---|
[C# WPF] ICommand를 활용한 버튼 커맨드 방법 (0) | 2019.03.04 |
[C# WPF] Window화면 Custom하기 (0) | 2018.09.05 |
C# WPF] INotifyPropertyChanged 인터페이스를 이용한 데이터 바인딩 방법 (1) | 2018.04.17 |
C# WPF] MVVM 패턴을 활용한 프로젝트 관리 방법 (3) | 2018.03.23 |