본문 바로가기

개발

(57)
C# 데이터베이스 연결 하는 법 SqlDataReader SqlDataAdapter 차이점 1.Connection 연결은 SqlConnection 객체를 생성해서 ConnectionString에 서버의 정보를 입력 하면됩니다. 이때 MSSQLSERVER는 정해진 형식대로 입력 하면 됩니다. DataSource:서버 아이피 (또는 서버명) Initial Catalog :database이름 UserID 계정 명 Password 비밀번호 예시)DataSource =111.111.1.10,1223;Initial Catalog =dbname;User ID= 홍길동; Password = 1324; 2.open 데이터 베이스를 .open()하여 접속 3.SqlCommand 를 통한 명령어 전송 4.SqlDataReader 를 통한 객체 반환 여기서 SqlDataReader를 통한 객체 반환 방식은 db와 ..
Spring 기본 Bean조회하는 법 빈 조회 정리 스프링 컨테이너에 등록 된 빈을 조회는 방법에 대해 알아보겠습니다. AnnotationConfigApplicationContext ac = new AnnotationConfigApplicationContext(AppConfig.class) //Appconfig.class어노테이션 기반 config클래스 위와 같이 스프링 컨테이너 객체를 생성해 줍니다. 1.모든 빈 조회 string[] beanDefinitionNames = ac.getBeanDefinitionNames(); for (String beanDefinitionName : beanDefinitionNames) { Object bean = ac.getBean(beanDefinitionName); } 위와 같이 getBeanDefinitionNam..
c# dataGridview combobox 추가 하는 법 combobox ComboBox_SelectedIndexChanged 이벤트 추가 c# winform에서 gridview의 셀 안에 콤보박스를 넣는 예제입니다! 아래의 과목이라는 컬럼에 콤보박스를 넣어 선택 했을때 메세지 박스를 띄우는 이벤트도 추가했습니다. 콤보박스안의 item들을 선택할때 발생하는 이벤트핸들러를 추가하여 콤보박스 변경 이벤트가 발생했을 때의 로직도 구현 할 수 있습니다. public Form1() { InitializeComponent(); MakeComboGrid(); } private void MakeComboGrid() { DataGridViewComboBoxCell cbocell = new DataGridViewComboBoxCell(); cbocell.DisplayStyle = DataGridViewComboBoxDisplayStyle.ComboBox; i..
Spring ApplicationContext? 스프링 컨테이너란? ApplicationContext를 스프링 컨테이너라고 칭합니다. beanFactory도 있지만 사용을 잘안하기에 ApplicationContext를 주로 스프링 컨테이너라고 합니다. 여기서 스프링 컨테이너는 자바의 객체들을 관리하는 공간 ApplicationContext는 인터페이스이므로 다형성을 가지고 있습니다. 스프링 컨테이너의 생성 방식은 아래와 같습니다. //애노테이션 기반 생성 ApplicationContext applicationContext = new AnnotationConfigApplicationContext(Config.class); 위의 코드는 애노테이션 기반의 자바 클래스로 컨테이너를 생성하는 방식이며 이외에도 XML이나 다른 방식으로 생성 할 수 있다고 합니다. 스프링 컨테이너의..
c#기초 Extension 확장 메서드 Extension Method 확장 메서드는 static(정적) 메서드의 한 종류입니다. 단 말 그대로 확장의 의미를 가지고 있는 신기한 기능입니다. 확장 메서드는 다른 클래스나 구조체 인터페이스에 적용 될수 있습니다. 위는 확장 메서드를 선언한 static클래스 확장메서드를 사용하기 위해서는 클래스 또한 정적으로 선언 해줘야 사용 가능합니다. 또한 첫번째 파라미터의 타입은 확장메서드를 사용 할 수 있는 타입으로 지정됩니다. 위 코드는 string클래스에 확장메서드 Hello를 추가하여 string 객체에서 Hello라는 메서드를 사용 가능하게끔 만들어 줍니다. 위의 코드를 실행하면 아래와 같이 Hello 확장 메서드 안의 로직이 실행되어 출력됩니다. 또한 뒤의 파라미터에 this를 붙이면 아래와 같이 에러가 떠 컴파일이 되지 않습니..
Spring boot jpa 연관 관계 알아보기 @OneToMany,@ManyToOne 공부 jpa에서 연관관계 방향으로는 1.단방향 2.양방향으로 나눌 수 있습니다. -단방향은 한쪽에서 다른 한쪽을 참조 하지 않으면 단방향이 됩니다. -양방향은 서로 다른쪽을 참조하고 있을때 양방향 관계가 됩니다. 이는 데이터 베이스에서는 하나의 외래키로 조인을 하면 되므로 양방향 단방향이 의미가 없으나 객체에서는 한쪽이 다른한쪽을 참조를 하지 않는다면 단방향 양방향으로 나뉘게 됩니다. 예시를 보면 아래와 같이 Order enitiy에 Orderitem이 일대다 관계로 성립하고 있을때 데이터 베이스에서는 일대다 중에 다에 외래키를 지정하므로 (자식테이블에 fk키 지정) Order객체와 OrderItem 객체도 위와 같이 관계를 지정해 주어야 합니다. 예제1 Order @Entity @Table(name = "o..
Spring boot devtools 사용법 automatic restart 변경부분 자동 적용하기 spring boot devtools 라는 라이브러리를 사용 해볼 것입니다. spring boot devtools 라는 라이브러리는 spring boot 환경에서 사용자의 편의성을 위한 기능등을 제공하는데 그중에서 수정한 파일 하나만 컴파일해도 적용되는 AUTOMATIC RESTART 기능을 사용해 보겠습니다. 라이브러리 적용법 1.build.gradle에 아래 항목 입력 implementation 'org.springframework.boot:spring-boot-devtools' 2.gradle 버튼 클릭 3.기존의 소스 실행 4. text를 안녕하세요 -> 안녕하세yo로 변경하면 기존의 소스에서는 이미 실행시킨 서버를 죽이고 다시 빌드를 해야 하지만 devtools를 사용하면 그 과정 없이 수정된 ..
c# DataTable 복사하기 복제하기 copy() 메서드와 clone() 메서드 C# 의 DataTable 클래스는 복제 기능과 복사 기능을 제공합니다. 아래는 그 메서드를 활용하는 예제 코드입니다. static void Main(string[] args) { DataTable dt = new DataTable(); //데이터 테이블 생성 DataTable dtcopy = new DataTable(); //복사할 데이터 테이블 생성 DataTable dtclone = new DataTable(); //복제할 데이터 테이블 생성 dt.Columns.Add("NAME",typeof(string)); dt.Columns.Add("NUMBER", typeof(int)); dt.Columns.Add("DOUBLE", typeof(double)); dt.Rows.Add("테스트","243","..
mssql bulk insert 하는 법 한국어 안 깨지게 insert 하기 BULK INSERT 테이블명 FROM 'C:Test\test.txt' WITH( CODEPAGE= '65001' --코드페이지 설정 , FIELDTERMINATOR = '\t ' -- 열구분자 설정 , ROWTERMINATOR = '\n' -- 행구분자 설정 , FIRSTROW = '0' -- 데이터 입력 시작할 행 , BATCHSIZE = '100') --한번에 INSERT 할 행의 수 입력 bulk insert는 mssql에서 txt파일이나 csv파일로 되어 있는 다량의 데이터 파일의 경로를 첨부하여 데이터 베이스에 삽입 할 수 있는 명령어입니다. - CODEPAGE에서 한국어가 깨지면 65001로 설정하면 됨
c# visualstudio 메타데이터 파일을 찾을 수 없습니다 오류 해결 visual studio에서 위와 같이 솔루션을 빌드하면 메타데이터 파일을 찾을 수 없습니다. 이런 항목이 뜹니다 구글링 해봐서 나와있는 조치를 다 따라해 봤으나 똑같이 동일하게 오류가 뜨는 상황이어서 포기하려 했으나 위의 경로를 똑같이 따라가 보니 빌드하면 생성되어야 할 dll 파일들이 하나도 없는 것을 발견하였습니다. 예전에 컴파일 해둔 압축파일이 있어서 해당 폴더에 압축해제 하고 다시 빌드 하였더니 정상적으로 빌드가 되었습니다. 저의 경우에는 메타데이터가 없다는 경로에 예전에 압축해둔 해당 dll들을 넣어주어서 해결 하였습니다.