WPF를 이용해서 로그인창을 만들어보자
<Window x:Class="_040_WPFLogin.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:_040_WPFLogin"
mc:Ignorable="d"
Title="MainWindow" Height="450" Width="800"
Background="LightSteelBlue">
<Border Background="White" Margin="20">
<StackPanel Margin="20">
<TextBlock Text="Login" FontSize="20"
HorizontalAlignment="Center"
Margin="30"/>
<Separator Background="Orange"/>
<TextBlock Text="UserName"
FontSize="20"
Margin="0,5"/>
<TextBox x:Name="txtUserName"
FontSize="30"/>
<TextBlock Text="Password"
FontSize="20"
Margin="0,5"/>
<PasswordBox x:Name="txtPassword"
FontSize="30"/>
<Button x:Name="btnLogin"
Content="로그인"
FontSize="20"
Width="100"
Margin="10,20"
Click="btnLogin_Click"/>
</StackPanel>
</Border>
</Window>
디자인 xaml코드이다.
먼저 SQL Server를 연결하기 위해서 프로젝트에 우클릭 - 추가 - 서비스 기반 데이터베이스 - 이름 설정.
DB를 추가하면 DB에 우클릭 - 새 쿼리
위 사진 처럼 설정한다. UserName과 Password 는 Null이면 안되기 때문에 Null허용 체크박스를 해제한다.
+ Id를 클릭해서 속성에서 ID 여부를 Flase -> True로 변경함.
새쿼리문 작성을 통해
INSERT INTO LoginTable(UserName, Password) values ('shpark','1234')
SELECT * FROM LoginTable
sql문 입력
namespace _040_WPFLogin
{
/// <summary>
/// MainWindow.xaml에 대한 상호 작용 논리
/// </summary>
public partial class MainWindow : Window
{
string connStr = @"Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=C:\Csharp\040_WPFLogin\myLogin.mdf;Integrated Security=True";
public MainWindow()
{
InitializeComponent();
}
private void btnLogin_Click(object sender, RoutedEventArgs e)
{
SqlConnection conn = new SqlConnection(connStr);
conn.Open();
string sql = string.Format("SELECT COUNT(*) FROM LoginTable WHERE UserName='{0}' AND Password ='{1}'", txtUserName.Text, txtPassword.Password);
SqlCommand comm = new SqlCommand(sql, conn);
int count = Convert.ToInt32(comm.ExecuteScalar()); //리턴되는 값의 첫번재 값 받음 > object 값 리턴이기때문에 32비트 정수형으로 convert
if (count == 1)
{
MessageBox.Show("Login 성공");
}
else
MessageBox.Show("Login 실패");
conn.Close();
}
}
}
위와 같은 코드를 통해서 Login 하면 DB에 저장된 ID,Password외에는 로그인 실패가 출력된다.
'C#' 카테고리의 다른 글
042_Chart (0) | 2022.06.09 |
---|---|
041_Splash (0) | 2022.06.09 |
039_PhoneBook(Access DB예제) (0) | 2022.05.20 |
038_ListArray (0) | 2022.05.11 |
037_Calculator (0) | 2022.04.27 |