ADO.NET 로그 인 사례 만 들 기
프로젝트 1:
1.select*from 표 이름 where username="사용자 가 입력 한 사용자 이름"
2.reader.Read(),즉 사용자 이름 이 존재 한다 면 사용자 가 입력 한 비밀번호 와 가 져 온 비밀번호(reader.GetString(reader.GetOridinal("비밀번호 필드")가 같은 지 판단 하고,같은 경우 로그 인 에 성공 하지 않 으 면 로그 인 에 실패 합 니 다.
프로젝트 2:
select*from 표 이름 where username="사용자 가 입력 한 사용자 이름"and password="사용자 가 입력 한 비밀번호"데 이 터 를 찾 으 면 로그 인 에 성공 합 니 다.그렇지 않 으 면 로그 인 에 실패 합 니 다.
다음은 프로젝트 1 을 사용 하여 로그 인 사례 를 만 듭 시다.
여기,편 의 를 위해 콘 솔 애플 리 케 이 션 을 사용 하 세 요.
전주:
나 는 이번에 연결 문자열 을 설정 파일 에 쓸 것 이다.
1.우선 네 임 스페이스 의 인용 을 추가 해 야 합 니 다:System.configuration;
2.그리고 우리 의 프로필 AppConfig 에 있 는
<configuration>
<connectionStrings>
<add name="ConStr" connectionString="server=.;database=DB_USERS;uid=sa;pwd=Pasword_1"/>
</connectionStrings>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
</startup>
</configuration>
빨간색 색상 을 표시 하 는 곳 은 우리 가 추가 한 연결 문자열 노드 정보 입 니 다. 3.그 다음 에 저 는 DBHelper 류 를 만 들 고 그 안에'연결 문자열'을 가 져 오 는 방법 을 설명 하 는 습관 이 있 습 니 다.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Configuration;// ,
namespace ADO.NET 1
{
public class DBHelper
{
public static string GetConnectionStrings()
{
// ConfigurationManager , 。
return ConfigurationManager.ConnectionStrings["ConStr"].ConnectionString;
}
}
}
4.이번에 도 저 는 저장 과정 을 사용 하여 사용자 이름 에 따라 조회 하 는 저장 과정 을 만 듭 니 다.
IF OBJECT_ID('Ins_User','P') IS NOT NULL
DROP PROCEDURE Ins_User
GO
CREATE PROCEDURE Ins_User
@name NVARCHAR(20)
AS
SELECT * FROM dbo.T_USERS WHERE T_NAME=@name
GO
저장 프로시저전기의 준비 작업 을 다 한 후에 지금 우 리 는 프로그램 을 작성 하고 인 코딩 을 실현 합 니 다.
사고:방안 1.먼저,우 리 는 당연히 사용자 에 게 사용자 이름과 비밀 번 호 를 입력 하 게 한 다음 에 사용자 가 입력 한 사용자 이름 에 따라 데이터 베이스 에 대응 하 는 표 에 관련 데이터 가 있 는 지,없 으 면 사용자 이름 이 존재 하지 않 는 다 는 것 을 알려 줍 니 다.있 으 면...사용자 가 입력 한 비밀번호 가 정확 한 지 계속 판단 합 니 다.(사용자 가 입력 한 비밀번호 와 데이터 베이스 에 대응 하 는 비밀 번 호 를 가지 고 판단 합 니 다)정확 하면 로그 인 성공 을 알 립 니 다.그렇지 않 으 면 비밀번호 오 류 를 알 립 니 다.
*여기 서 저 는 매개 변수 조 회 를 사용 하여 로그 인 사례 를 작성 합 니 다.SQL 주입 공격 을 방지 하기 위해 서 입 니 다.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Data;
using System.Data.SqlClient;
namespace ADO.NET 1
{
class Program
{
static void Main(string[] args)
{
//
Console.WriteLine(" :");
// Console.ReadLine()
string userName = Console.ReadLine();
//
Console.WriteLine(" :");
string password = Console.ReadLine();
// ADO.NET ,
//
//1. ( )
SqlConnection scon = new SqlConnection(DBHelper.GetConnectionStrings());
//2. ( )
SqlCommand scmd = new SqlCommand();
scmd.CommandText = "Ins_User";
scmd.CommandType = CommandType.StoredProcedure;
scmd.Connection = scon;
//3
scon.Open();
//
scmd.Parameters.Add(new SqlParameter("@name",userName.Trim()));
//4.
SqlDataReader reader = scmd.ExecuteReader(CommandBehavior.CloseConnection);
//5
if (reader.Read())
{
if (password.Trim().ToString() == reader["T_PWD"].ToString())
{
Console.WriteLine(" ");
}
else
{
Console.WriteLine(" ");
}
}
else
{
Console.WriteLine(" ");
}
//
reader.Dispose();
Console.ReadKey();
}
}
}
이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
셸 로그 인 에 대한 지식이 프로 세 스 는 사용자 가 시스템 에 로그 인 한 후에 실행 하 는 명령 해석 기 나 특정한 프로그램, 즉 Shell 입 니 다.Shell 은 사용자 와 Linux 시스템 간 의 인터페이스 입 니 다.리 눅 스 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.