본문 바로가기
프로그램 배포 비주얼 스튜디오를 release 모드로 바꿔주고 프로젝트를 다시 빌드한다프로젝트 폴더에서 확인하면 bin - release 폴더에 있는 파일로 배포하면 된다 닷넷 프레임워크로 제작한 프로그램이기에 닷넷 버전, 윈도우 운영체제에서만 실행 가능하다 2024. 10. 6.
저장프로시저 기존 crud에서 insert 구문을 프로시저를 이용해서 저장이 가능하게 변경하자 저장 프로시저를 추가하기 위해mssql을 켜서 db - 프로그래밍 기능 - 저장 프로시저 - 새 저장 프로시저를 생성한다 상단에 저자, 생성일, 내용등을 적어주고사용할 변수들을 @붙여서 정의begin 구문 안에 프로시저로 호출할 쿼리문을 작성한다SET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGO-- =============================================-- Author: hoshi03-- Create date: 2024.10.06-- Description: -- =============================================CREATE PROCED.. 2024. 10. 6.
윈폼 CRUD mssql에 기존에 만들어둔 test 스키마에 books 테이블 추가하고 책 데이터 넣어주기CREATE TABLE BOOKS ( BOOKNO int PRIMARY KEY, NAME varchar(50), CODE varchar(50) ); INSERT INTO BOOKS (BOOKNO, NAME, CODE)VALUES (1, '아기돼지3형제', '111111');INSERT INTO BOOKS (BOOKNO, NAME, CODE)VALUES (2, '톰과제리', '111112');INSERT INTO BOOKS (BOOKNO, NAME, CODE)VALUES (3, '인어공주', '111113');INSERT INTO .. 2024. 9. 25.
mssql 윈폼 연동 mssql 설치 후 데이터베이스에 새 데이터베이스를 추가한다 • db 연결 데이터베이스에 우클릭해서 새 데이터베이스를 만들어주고 .cs 파일에서 sqlconnection으로 mssql에 접속한다  //db연동을 위한 클래스 private SqlConnection sqlConnection = null; //ip, 포트, db이름, id, pw 순으로 connectionstring에 삽입 private string connectionString ="SERVER=127.0.0.1,1433;DATABASE=test;UID=sa;PASSWORD=1111";  private void btn1_Click(object sender, EventArgs e) .. 2024. 9. 25.
사용자 정의 컨트롤러 프로젝트에 사용자 정의 컨트롤을 추가 추가한 도구 상자에서 원하는 위젯을 가져다가 넣어두고 빌드하면윈폼창의 도구상자에서 만들어둔 컨트롤을 가져다가 사용 가능하다 이런 식으로 만들어 둔 걸 윈폼에서 사용자 정의 컨트롤을 가져와서 사용하려고 할때 접근 지정자 문제로 바로 컨트롤의 위젯에 접근은 불가능하다유저 컨트롤러에서 프로퍼티로 접근할 수 있게 해주자 public string label1text { get { return label1.Text; } set { label1.Text = value; } .. 2024. 9. 21.
단일 프로세스 멀티 프로세스 안하고 단일 프로세스 하는 이유 같은 프로그램 여러개 띄워서 충돌하거나 사용하는 사람이 작업중인 프로그램이 뭔지 햇갈려서 실수하는걸 방지 • Mutex 공유 자원을 한 프로세스가 단독으로 사용 가능하게 만들기 위해 뮤텍스를 사용Program.cs 의 실행 부분에 뮤텍스를 설정해 프로그램을 한개만 실행 가능하게 하는 코드 bool mutexLock = false; Mutex mutex = new Mutex(true, Assembly.GetEntryAssembly().FullName, out mutexLock); //이미 동일 프로세스가 생성되어있는지 체크하고 없을때만 새 프로세스 생성 if (mutexLock ==.. 2024. 9. 21.
이벤트 지금까지 ui배치 후 더블클릭 등으로 이벤트를 등록해서 사용했는데어떻게 이렇게 한 것 만으로 되는지 자세하게 알아보자 버튼의 클릭 이벤트를 처리할때 click 속성은 이벤트 핸들러 이고, 이벤트 핸들러는 델리게이트 타입이다.그러므로 델리게이트 문법을 사용해서 해당 동작을 할때 발생시킬 메서드를 등록할 수 있다 기존 델리게이트 문법보다 훨씬 편하게클릭 동작할때 얘도 실행해줘 하는 형태로 전달해주면 아래와 같은 경우에는 btn1이 뜬 후 확인하면 clicked2도 팝업된다 - 이벤트 핸들러 원형void 타입이기에 전달해주는 메서드 또한 void 타입으로 전달해줘야 한다.. 그렇지 않으면 당연히 빨간줄뜸public delegate void EventHandler(object sender, EventArgs e.. 2024. 9. 21.
윈폼 datatable, dataset, datagridview • datatable 사용datagridview 안에 데이터테이블을 넣어서 표현해보자form에 datagridview를 만들어서 넣어두고 폼이 초기화될때 데이터테이블이 들어가게 하는 방식private void Form1_Load(object sender, EventArgs e){ DataTable dt = new DataTable(); DataColumn dc = new DataColumn(); dc.ColumnName = "int"; dc.DataType = typeof(Int32); DataColumn dc2 = new DataColumn(); dc2.ColumnName = "name"; dc2.DataType = typeof(string); dt.Colum.. 2024. 9. 21.
윈폼 시작하기 2 (판넬, 스플리터, 테이블 레이아웃 판넬, 툴스트립) • toolstrip 이미지 있는 버튼이나 다양한 UI을 추가, 당연히 추가한 버튼 등에 이벤트 등록 가능  • panel & spliterspliter를 panel과 함께 사용해서 작업 영역을 구분할때 사용속성에서 dock 속성을 이용해서 어디를 구분할지 설정패널도 패널 속성의 dock을 이용해서 배치해서 작업영역을 설정하고 스플리터로 경계면을 설정하는걸로 이해했다 •  table layout panel   테이블 레이아웃 우상단 버튼을 눌러서 행/열의 크기나 갯수를 변경 가능하다테이블 안에 있는 오브젝트들은 columnspan속성과 rowspan 속성을 이용해서 몇 칸을 차지할건지 설정 가능하다 2024. 9. 21.
윈폼 시작하기 (이벤트, MDI, 로그인) 윈폼을 하는 이유유니티로 하는 프로젝트를 몇번 해보면서 닷넷.. C#.. 해볼까? 라는 생각을 하게 되었고기존에 해본 QT와 같은 GUI 기반에 웹 개발, 스마트팩토리나 iot 분야 등 다양한 분야로 사용 할 수 있는 프레임워크라 생각해 기술스택 확장, 직업선택의 폭을 넓히기 위해 윈폼을 공부해보자!복습을 위해 기록해두면 미래의 내가 보고 복습할거라 믿는다 비주얼 스튜디오에서 윈폼 으로 프로젝트 만들어서 시작윈폼 창에서 도구 상자에서 오브젝트 가져다가, 해당 오브젝트(버튼,라벨) 속성에 보이는 이벤트를 코드로 정의해서발생시킬 수 있다  button1.Click += MyButton_Click; private void MyButton_Click(object sender, EventArgs e).. 2024. 9. 21.