monique
Atelier de monique
monique
전체 방문자
오늘
어제
  • 분류 전체보기 (109)
    • Daily (1)
    • Tips (0)
    • Learning (62)
      • Basic (12)
      • JAVA (11)
      • Javascript (5)
      • MariaDB (1)
      • Spring (2)
      • HTML (3)
      • Thymeleaf (1)
      • Nuxt.js (0)
      • Vue.js (0)
      • Oracle+DB (3)
      • Python (1)
      • Linux (1)
      • Git (4)
      • Errors (15)
      • .NET (3)
    • Portfolio (10)
      • The Book Quotes (2)
      • KYP COFFEE (6)
      • [국비] Java & Spring 개발 양성과정 (0)
    • Programmers (35)
    • Reading (1)
      • Scrap (1)

블로그 메뉴

  • 홈
  • 태그
  • 방명록
  • About

공지사항

인기 글

태그

  • 카카오톡 공유하기 구현
  • 특정시간에 동작하는 스크립트
  • Rider AWS 연동
  • 카카오톡 공유하기 javascript
  • Rider DB연동
  • 리스트 값 구별
  • 인터셉터 적용
  • 리스트 고유값
  • RDS 환불
  • AWS 결제취소
  • DB에서 한 컬럼에 데이터 넣기
  • 서버에서 데이터 조회 안될때
  • 리스트 가져온 뒤 값 선택
  • 특정 시간 alert
  • Amazon RDS billing
  • 파리텍스환급
  • spring게시판
  • Viewbag과 Model 차이
  • 플래닛 텍스 환급
  • 리스트에서 특정 값 선택

최근 댓글

최근 글

티스토리

250x250
hELLO · Designed By 정상우.
monique

Atelier de monique

[Rider] C#프로젝트 초기 설정: DB연결 (MariaDB/AWS)
Learning/.NET

[Rider] C#프로젝트 초기 설정: DB연결 (MariaDB/AWS)

2023. 4. 17. 19:32

맥OS에서 AWS RDS와 프로젝트를 연결하는 방법입니다.

저는 .NET Framework 4.7.1 / MariaDB / AWS를 사용했습니다.

1. 프로젝트의 맨 아래쪽에 있는 Web.config의 appSetting 부분을 이렇게 수정해줍니다.

 <appSettings>
    <add key="webpages:Version" value="3.0.0.0"/>
    <add key="webpages:Enabled" value="false"/>
    <add key="ClientValidationEnabled" value="true"/>
    <add key="UnobtrusiveJavaScriptEnabled" value="true"/>
    <add key="conStr" value="server=본인RDS주소(예시:~~ap-northeast-2.rds.amazonaws.com);database=DB이름;uid=DB로그인아이디;pwd=비밀번호" />
 </appSettings>

프로젝트 맨아래쪽 위치한 Web.config

2. Rider 프로젝트 아래쪽에 위치한 NuGet을 클릭하고, 

My라고 검색창에 쳐서 Mysql.Data와 MysqlConnector를 설치해줍니다 (해당 패키지 클릭후 오른쪽마우스->Install 클릭)

3. 그리고 이제 DB연결 Helper를 만들어줍니다.

using System.Configuration;
using System.Data;
using MySql.Data.MySqlClient;

namespace atelier.DAL
{
    public class DAL
    {
        private static MySqlConnection conn = new MySqlConnection(ConfigurationManager.AppSettings["conStr"].ToString());

        public static DataTable mList()
            {
                conn.Open();

                MySqlCommand cmd = new MySqlCommand();
                cmd.Connection = conn;

                cmd.CommandText = string.Format("SELECT * FROM member");

                cmd.CommandType = CommandType.Text;
                MySqlDataAdapter da = new MySqlDataAdapter();
                da.SelectCommand = cmd;

                DataSet ds = new DataSet();
                da.Fill(ds, "member");
                conn.Close();

                return ds.Tables[0];
            }
        
      
    }
}

4. HomeController에 추가해줍니다.

public List<Admin> ConvertDataTableToModel(DataTable dt)
        {
            List<Admin> models = new List<Admin>();
            foreach (DataRow row in dt.Rows)
            {
                Admin member = new Admin();
                member.Id = (string)row["member_id"];

                models.Add(member);
            }
            return models;
        }
        
        
        [HttpGet]
        public ViewResult AdminLogin()
        {
            System.Data.DataTable member = DAL.DAL.mList();
            List<Admin>  boardModel = ConvertDataTableToModel(member);

            ViewBag.mlist = boardModel;

            return View(boardModel);
        }

5. 리스트에 쓸 모델 파일도 만들어줍니다. Models에 Admin.cs파일을 추가해 간단하게 아이디만 불러오는 테스트 용도로 씁니다.

 public class Admin
    {
        public string Id { get; set; }
    }

 

6. View페이지에서 아래와같이 불러와서 DB연동이 잘 되었는지 테스트해주면 됩니다.

@using System.Data
@using atelier.Models
@model List<Admin>

@{
    Layout = null;
}

<!DOCTYPE html>

<html>
<head>
    <title>Test</title>
</head>
<body>
<div>
    @foreach(var item in Model){
    @item.Id
    }
</div>
</body>
</html>

연동되어 DB에 있는 아이디가 불러와진 모습

728x90
저작자표시 비영리 변경금지 (새창열림)

'Learning > .NET' 카테고리의 다른 글

[Rider] C#프로젝트 초기 설정: 호스트주소 변경  (0) 2023.04.16
Viewbag과 Model의 차이  (0) 2023.01.11
    'Learning/.NET' 카테고리의 다른 글
    • [Rider] C#프로젝트 초기 설정: 호스트주소 변경
    • Viewbag과 Model의 차이
    monique
    monique
    a junior web developer's archive

    티스토리툴바