ASP.NET/MVC 3

ASP.NET MVC 3 MSSQL 연결하기 + INSERT

littlemk 2018. 8. 23. 15:17

ASP.NET MVC 3 MSSQL 연결하기 + INSERT

Visual Studio 2010 express
SQL Server 2017


  1. Web.config 파일 코드 변경

    <connectionStrings>
        <add name="TEST_DBConnectionString" connectionString="server=localhost;User ID=root;Password=god159789;database=test0821" providerName="MySql.Data.MySqlClient" />
    </connectionStrings>

------------------------위의 글은 블로그의 설정/ 아래는 내가 설정한 코드

    <connectionStrings>
        <add name="TEST_DBConnectionString" connectionString="server=localhost;Initial Catalog=Test_DB;Integrated Security=SSPI;Persist Security Info=True;User ID=DB사용자명;Password=DB비밀번호"
                providerName="System.Data.SqlClient" />
    </connectionStrings>



  1. DB table 생성

Create Table TB_USER
(
    NUM int identity(1,1) primary key NOT NULL
    , ID    varchar(32)
    , NAME    varchar(32)
    , SEX    varchar(10)
)
-------------------------------------------------
이렇게만 하고 나중에 바로 디버깅시 Insert identity on 에러뜸
DB 생성 후 ON, OFF 쿼리 작성
-------------------------------------------------
SET IDENTITY_INSERT TB_USER ON;
SET IDENTiTY_INSERT TB_USER OFF;
SET IDENTITY_INSERT [테이블 명] ON;
SET IDENTITY_INSERT [테이블 명] OFF;


  1. 관리를 위해 DAL이란 폴더 및 폴더 안에 Class 파일 생성

    


  1. 생성된 USER_DAL.cs 파일 코드 변경

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Configuration;
//using MySql.Data.MySqlClient;
using System.Data.SqlClient;
using System.Data;
namespace Test0821.DAL
{
    public class USER_DAL
    {
        public static SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["TEST_DBConnectionString"].ToString());
         //public static con = ConfigurationManager.ConnectionStrings["TEST_DBConnectionString"].ConnectionString;
         //context = new DataContext(connectionString);
         //usersTable = context.GetTable<UserObj>();
 
        public static void Insert_User(string id, string name, int age, string sex)
        {
            con.Open();
            SqlCommand cmd = new SqlCommand();
            cmd.Connection = con;
            cmd.CommandText = string.Format("Insert TB_USER values('{0}','{1}','{2}','{3}')", id, name, age, sex);
            cmd.CommandType = CommandType.Text;
            cmd.ExecuteNonQuery();
            con.Close();
        }
    }
}



  1. Test0821Controller.cs 코드 변경

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using Test0821.Models;
using Test0821.DAL;
namespace Test0821.Controllers
{
    public class Test0821Controller : Controller
    {
        //
        // GET: /Home/
       // public ActionResult Index()
        //{
            //return View();
        //}
        // 홈페이지상에서 보여질 문구
        //public string Index()
        //{
            //return "안녕하세요~ HomeController 실행했습니다.";
        //}
        // View 추가하기
        public ViewResult Index()
        {
            string str_Message = "동적 출력하는 부분입니다.";
            ViewBag.Hello = str_Message;
            return View();
        }
        [HttpGet]
        public ViewResult NewForm0821()
        {
            return View();
        }
        [HttpPost]
        public ViewResult NewForm0821(Test0821_Model dataModel)
        {
            USER_DAL.Insert_User(dataModel.ID, dataModel.NAME, dataModel.AGE, dataModel.SEX);
            return View("dataViewPage", dataModel);
        }
    }
}


  1. 실행화면