MSSQL SQL Server mdf/ldf 파일 연결 오류:5120 해결방법 SQL Server를 사용하다 보면 mdf와 ldf 파일을 통해 데이터베이스 연결을 해야 하는 경우가 있다. 이때 오류:5120가 발생하는 경우 해결하는 방법에 대해 알아보자. SQL Server 구성관리자를 실행한다. SQL Server 서비스에 SQL Server를 마우스 우클릭하여 속성을 클릭한다. 로그온 탭에 기본 제공 계정(B)를 활성화하고 로컬 시스템으로 설정한다. 이후 데이터베이스 연결을 하면 오류없이 실행된다. DB/MSSQL 2024.04.18
WPF ListBox 아이템 간격 설정하는 방법 WPF ListBox를 통해 여러 아이템을 표시하고 선택할 수 있다. 기본적으로 아이템 간격이 없어 답답하게 느껴진다. 아이템(ListBoxItem) 간격 설정하는 방법에 대해 알아보자. ListBox의 ItemContatinerStyle 속성을 통해 각 아이템에 대해 생성된 컨테이너 요소에 적용된 Style을 변경할 수 있다. Margin을 주어 ListBoxItem 간격을 설정하면 된다. WPF/개발 2024.04.12
WPF Button Image Background 없애는 방법 WPF에서 Button의 Content 속성에 Image 컨트롤을 넣게 되면 Background(배경색)이 남아있다. Background(배경색)을 없애고 싶다면 템플릿(Template)을 수정해줘야 한다. Button 컨트롤 템플릿을 Image로 했기때문에 더 이상 Background가 표시되지 않는다. 이벤트를 발생하는 영역또한 Image로 한정되기 때문에 외부를 클릭하면 이벤트가 발생하지 않는다. WPF/개발 2024.04.04
C# SQLite 외래키 제약 조건 활성화 방법 C#에서 SQLite를 사용하던 중 외래키를 사용하게 되었다. 참조무결성 제약인 ON DELETE CASCADE, ON UPDATE CASCADE를 적용하기 위해서는 외래키 제약 조건을 활성화해야 한다. SQLite 버전 3.6.19부터 외래키 제약 조건의 기본 설정은 OFF 되어 있다. C#에서 SQLite 외래키 제약 조건 활성화 방법에 대해 알아보자. class Program { private const string _connInfo = @"Data Source=TestDB.db"; public static void ExecuteNonQuery(string query) { using (SQLiteConnection conn = new SQLiteConnection(_connInfo)) { try {.. DB/SQLite 2024.04.01
DevExpress HamburgerMenu 뒤로가기 버튼 없애는 방법 DevExpress에서 Navigation UI를 구성할 때 HamburgerMenu를 사용했다. HamburgerMenuNavigationButton을 통해 뷰 이동을 하면 타이틀바에 뒤로가기 버튼(Back Button)이 나오는걸 볼 수 있다. HamburgerMenu 컨트롤의 IsWindowBackButtonVisible 속성을 False로 설정해주면 된다. WPF/DevExpress 2024.03.23
DevExpress GridColumn CheckBox 전체 선택 및 해제하는 방법 DevExpress의 GridControl 사용 시 GridColumn에 bool 속성을 바인딩하면 자동으로 CheckBox가 표시된다. CheckBox이기에 기본적으로 선택 및 해제도 가능하지만 전제 선택 및 해제는 기본 제공되지 않는다. CheckBox 전체 선택 및 해제를 하기 위해서는 ShowCheckBoxInHeader 속성을 True로 해주면 된다. ShowCheckBoxInHeader 속성은 bool형 필드에만 정상 작동한다. GridColumn 헤더에 확인란이 표시되며 전체 선택 및 해제가 가능하다. WPF/DevExpress 2024.03.22
WPF enum DataTrigger Binding 하는 방법 WPF에서 enum을 DataTrigger Binding 하는 방법에 대해 알아보자. namespace EnumTest { public enum Type { DIRECTORY, FILE, } } EnumTest 네임스페이스에 Type 열거형이 있다. xmlns:enum="clr-namespace:EnumTest" xaml파일에서 EnumTest 네임스페이스를 추가한다. 열거형 Type인 SelectedType 필드를 바인딩한 경우 DataTrigger에서 x:Static을 이용해 비교할 수 있다. WPF/개발 2024.02.07
C# 경로가 디렉토리인지 파일인지 구분하는 방법 C#에서 입력받은 경로가 디렉토리인지 파일인지 구분하는 방법을 알아보자. // 경로 string path = @"D:\Test.txt"; // 경로에 해당하는 FileAttributes 가져오기 FileAttributes fileAttributes = File.GetAttributes(path); // 디렉토리인 경우 if((fileAttributes & FileAttributes.Directory) == FileAttributes.Directory) { Console.WriteLine("디렉토리"); } // 파일인 경우 else { Console.WriteLine("파일"); } C#/개발 2024.02.02
Devexpress TextEdit Enter 눌렀을 때 바인딩 소스 업데이트하는 방법 일반적으로 Devexpress TextEdit 사용 시 Enter 눌렀을 때 아무런 이벤트가 발생하지 않는다. Enter 눌렀을 때 바인딩 소스 업데이트하는 방법을 알아보자. xmlns:dxe="http://schemas.devexpress.com/winfx/2008/xaml/editors" 우선 Devexpress의 TextEdit를 사용하기 위해 해당 네임스페이스를 가져오자. EditValue에 바인딩하고 UpdateSourceTrigger 속성을 PropertyChanged로 설정한다. ValidateOnEnterKeyPressed 속성을 True로 설정한다. ValidateOnTextInput 속성을 False로 설정한다. WPF/DevExpress 2024.01.31
C# 날짜 일수 차이 계산 C#에서 두 날짜의 일수 차이 계산하는 방법을 알아보자. // 일반적인 두 날짜 차이 계산 DateTime date1 = new DateTime(2024, 1, 5, 3, 21, 30); DateTime date2 = new DateTime(2024, 1, 1, 13, 5, 11); Console.WriteLine($"date1 : {date1}"); Console.WriteLine($"date2 : {date2}"); Console.WriteLine($"두 날짜 차이 : {date1 - date2}"); // 원하는 두 날짜 일수 차이가 아님 Console.WriteLine($"두 날짜 일수 차이 : {(date1 - date2).Days}"); // ToShortDateString 메서드를 이용한 두.. C#/개발 2024.01.18