C# 12

[C#] 오류: command 와 연결된 datareader 가 이미 열려 있습니다 먼저...

C#에서 2개의 쓰레드 함수의 while(1){...} 에서MSSql 과 연결하여 데이터를 가져올 때'command 와 연결된 datareader 가 이미 열려 있습니다 먼저 닫아야 합니다' 라는오류 메세지가 발생하는 원인은전역변수로 선언된 SqlConnection 변수를 두개의 쓰레드에서 동시에 사용하기 때문에 발생하는 것으로 판단됨SqlDataReader와 SqlCommand 변수를 사용하고 닫지 않았기 때문해결방법은각 쓰레드 함수에서 루프밖에 SqlConnection 변수를 선언 및 연결SqlDataReader와 SqlCommand 변수를 사용한 후 Close() 및 Dispose() 함 예제)/// /// 트렌드 차트의 그래프를 갱신하는 함수/// /// 트렌드 차트의 데이터delegate voi..

DB 관련 2024.12.27

[C#] 유용한 기능

1. DataGridViewComboBoxCell의 Value값 변경하기2. 진행율을 표시하는 클래스    3. 폼의 중복 방지4. 열려있는 폼 닫기5. DataGridView 에서 두개의 행으로 제목 만들기[ProgressStatus.cs]using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Threading.Tasks;using System.Windows.Forms;/// /// 윈도우의 컨트롤 관련된 클래스/// namespace WooriUtils.Controls{..

유용한 정보 2024.12.25

[C#] 서비스 등록/삭제 및 시작/종료

1. 서비스 프로그램 컴파일 후 비쥬얼스튜디오의 커맨드창을 열어서 installutil.exe 실행함예) installutil "..\bin\Release\실행파일.exe" 2. 서비스 등록 : sc create 서비스명 binPath="서비스 실행파일"예) sc create SMTRestartService binPath="..\bin\Release\SMTRestartService.exe" 3. 서비스 삭제 : sc delete 서비스명예) sc delete SMTRestartService 4. 서비스 시작 : sc start 서비스명예) sc start SMTRestartService 5. 서비스 종료 : sc stop 서비스명예) sc stop SMTRestartService

유용한 정보 2024.12.25

[C#]엑셀파일을 저장한다.

///   /// 엑셀파일을 저장한다.  ///   /// Microsoft.Office.Interop.Excel.Workbook  /// 저장할 파일경로  static public void SaveAs(XlsX.Workbook wb, string filename)  {   wb.SaveAs(filename, XlsX.XlFileFormat.xlWorkbookDefault    , Type.Missing, Type.Missing, false, false    , XlsX.XlSaveAsAccessMode.xlNoChange    , Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing);  }

기본카테고리 2016.07.24

[C#] 엑셀파일을 출력한다.

[방법1] private void BTN_PREVIEW_Click(object sender, EventArgs e)  {   Excel.Application xlApp = null;   Excel._Workbook wb = null;   Excel.Worksheet ws = null;   try   {    xlApp = new Excel.Application();    //excelApp.ActivePrinter = PrinterSettings.InstalledPrinters[3];    wb = xlApp.Workbooks.Add(PrjOutlineFile);    if (wb == null)     return;    xlApp.Visible = true;    xlApp.Sheets.PrintPr..

기본카테고리 2015.04.23