//조회시 변경하여 조회
select (replace(컬럼명,'변경전데이터','변경후데이터')) 컬럼명 from 테이블명
//예시
select (replace(strImageFilePath,'\\192.168.0.100\','')) strImageFilePath from tbl_Result

 //실제데이터 변경
 Update 테이블명 Set 컬럼명 = (replace(컬럼명 ,'변경전데이터','변경후데이터'))
//예시
 Update tbl_Result Set strImageFilePath = (replace(strImageFilePath,'\\192.168.0.100\',''))

* VisualStudio2015 기준

확인하고자 하는 DataTable변수에서 돋보기 모양 클릭 후 DataTable Visualizer 클릭시 시각화도우미 팝업

 

 

 

//WriteProfileString(_T(""), _T("레지스트리에서저장될이름"), 변수);


void SaveData()
{
CWinApp *pApp = AfxGetApp();
pApp->WriteProfileString(_T(""), _T("m_strSrcPath"), m_strSrcPath);
pApp->WriteProfileInt(_T(""), _T("m_nFPS"), m_nFPS);
}

void LoadData()
{
CWinApp *pApp = AfxGetApp();
m_strSrcPath = pApp->GetProfileString(_T(""), _T("m_strSrcPath"), _T(""));
m_nFPS = pApp->GetProfileIntA(_T(""), _T("m_nFPS"), 70);
}

'공부 > MFC_자주쓸거' 카테고리의 다른 글

[MFC]메인프레임 포인터 얻기  (0) 2022.05.06
[MFC] 폴더내 파일 탐색  (0) 2022.02.14
[MFC] 작업표시줄 숨기기  (0) 2021.07.07
[MFC]리스트박스 데이터 추가  (0) 2021.07.05
[MFC] 중복실행 방지  (0) 2021.05.27
//타입 , 크기 변경
ALTER TABLE TBL_RESULT MODIFY  NLOTID NUMBER(20,0);
ALTER TABLE TBL_RESULT MODIFY STRDATE VARCHAR2(50);

ALTER TABLE 테이블 MODIFY  컬럼 타입(크기);

//이름 변경
ALTER TABLE TBL_RESULT RENAME COLUMN STRDATE TO STRDATEDST

ALTER TABLE 테이블 RENAME COLUMN 컬럼명 TO 변경할컬럼명

 

출처: https://jwklife.tistory.com/5

ALTER TABLE tbl_Result_Data1 ALTER COLUMN nLotID bigint

ALTER TABLE 테이블 ALTER COLUMN 컬럼 타입

 

오류 내용

 

변경 내용을 저장할 수 없습니다. 변경 내용을 적용하려면 다음 테이블을 삭제하고 다시 만들어야 합니다.
다시 만들 수 없는 테이블을 변경했거나 [테이블을 다시 만들어야 하는 변경 내용 저장 사용 안 함] 옵션을 설정했습니다.

 

방법

 

도구 - 옵션 - 디자이너 - 테이블을 다시 만들어야 하는 변경 내용 저장 사용 안 함 - 체크해제

 

'공부 > SQL' 카테고리의 다른 글

[MSSQL] 특정 문자 변경 쿼리  (0) 2021.08.13
[Oracle] 테이블 컬럼 변경  (0) 2021.07.19
[Oracle] 세션강제종료  (0) 2021.07.15
[Oracle] 일정 시간 경과 후 연결 끊김  (0) 2021.07.14
[MSSQL] NVL 사용법  (0) 2021.07.07

갤럭시 XANOVA MAGNETAR 기계식 키보드 (영문)(청축)

wemak*** 에서 구매

구매금액 44900원

 

사용평

1. 소리 촥촥촥촥 남

2. 가격 굳

 

결론: 가격이 너무 저렴해서 여러개 쟁여두고 싶었다.

 

 

 

 

소리

 

 

불빛

 

갤럭시 XANOVA MAGNETAR RGB 기계식 키보드 체리갈축

구매금액 : 89000원

사용평

1. 소리 조용함

2. 키감 좋음

3. 불빛 간지남

4. 손목받침대 첨엔 불편하나 쓰다보면 적응되서 꼭 필요해짐

5. 볼륨 조절 버튼과 텐키가 너무 가까워 불편함

6. 키보드 3개월쯤 사용중에 윈도우키가 먹통되어 as보냄

 

결론 : 할인된 가격이 89000이고 만족은 하지만 가격이 약간 비싸다는 느낌이 있음... 

 

제품사진

 

 

소리

 

연결된 세션 조회 

SELECT 
   SID
  ,SERIAL#
  ,USERNAME
  ,PROGRAM 
FROM 
  V$SESSION 

결과

 

세션 종료 쿼리

연결된 SimpleOracle프로그램 강제 세션종료 -> SID : 8 , SERIAL# ; 915

--ALTER SYSTEM KILL SESSION 'SID,SERIAL#' IMMEDIATE;
ALTER SYSTEM KILL SESSION '8,915' IMMEDIATE;

 

 

출처: https://rypro.tistory.com/157

 * 오라클 DB 입력이 일정시간동안 없을 때 연결이 끊기는 현상


확인해야 할 것
1)
select PROFILE
     , RESOURCE_NAME
     , RESOURCE_TYPE
     , LIMIT
from dba_profiles
where profile = 'DEFAULT'
order by 1,2;

결과에서 IDLE_TIME 이 15일 경우 15분 동안 입력 없을 시 끊김

 


2)
select VALUE from v$parameter where name = 'resource_limit'

결과에서 TRUE일 경우 일정시간동안 입력 없을 시 연결 끊김


* 변경 방법
1) IDLE_TIME 을 UNLIMITED로 수정
alter profile default limit idle_time UNLIMITED;


--IDLE_TIME 을 1분으로 수정 쿼리
--alter profile default limit idle_time 1;

2)resource_limit 수정
alter system set resource_limit = FALSE;

VS 2019 설치 후 우클릭시 한자 보이는 현상 제거

 

레지스트리 편집기 실행 - 찾기 

'용' 입력 후 한자  用  (쓸 용)

 

검색 결과

내용 수정 후 결과

 

 

//수정 - 내용추가

위처럼 변경해도 어느 순간 원래대로 되돌아옴

크게 사용하지 않는 경우 삭제

 

[레지스트리 편집기 열기]

윈도우 + r  - regedit  

해당부분 제거

HKEY_CLASSES_ROOT\Directory\Background\shell\AnyCode
HKEY_CLASSES_ROOT\Directory\shell\AnyCode

 

출처 : https://developercommunity.visualstudio.com/t/disable-context-menu-for-open-in-visual-studio/26397

NVL 의 용도 : NULL 체크 후 치환 

select NVL(COLUMN1, 'Empty') 일 경우 COLUMN1이 NULL이면 'Empty'로 치환해서 출력

                                                                     NULL이 아니면 원래 값 출력

WHERE절에 사용될 경우   COLUMN1이 NULL이면 치환된 값이 반환되어  우변의 값과 비교하여 참,거짓 판별

                                                    NULL이 아닐 경우 원래 값과 우변의 값을 비교하여 참 거짓 판별

 

쿼리 예시

테이블명: ZTESTNVL
컬럼명: COLUMN1 , COLUMN2
현재 데이터



select * from ZTESTNVL;




select NVL(COLUMN1, 'Empty') from ZTESTNVL;



select COLUMN2 from ZTESTNVL WHERE NVL(COLUMN1,'EMPTY') = 'EMPTY';




select COLUMN2 from ZTESTNVL WHERE NVL(COLUMN1,'EMPTY') = 'EXIST';



 

 

void CMainFrame::ShowWindowTaskbar(BOOL bShow)
{
APPBARDATA stAppBarData;
ZeroMemory(&stAppBarData, sizeof(stAppBarData));
stAppBarData.cbSize = sizeof(stAppBarData);
stAppBarData.hWnd = (HWND)FindWindow(_T("Shell_TrayWnd"), NULL);
if (bShow)
{
stAppBarData.lParam |= ABS_ALWAYSONTOP;
}
else
{
stAppBarData.lParam |= ABS_AUTOHIDE;
}
SHAppBarMessage(ABM_SETSTATE, &stAppBarData);
}

출처: https://m.blog.naver.com/itrainl4/90092899174

리스트박스를 화면 표출 로그로 사용할시 사용

리스트박스 컨트롤 설정 sort : false 로 설정

 

CString strLog;
OutputListbox(m_listOutput, strLog);


void CExampleDlg::OutputListbox(CListBox& box, CString str)
{
SYSTEMTIME cur_time;
GetLocalTime(&cur_time);
CString strTime;
strTime.Format(_T("[%02d:%02d:%02d.%03d] "),
cur_time.wHour,
cur_time.wMinute,
cur_time.wSecond,
cur_time.wMilliseconds
);

UpdateData(TRUE);
box.AddString(_T(" >  ") + strTime + str);
box.SetCurSel(box.GetCount() - 1);  // Log 최신으로 커서이동

UpdateData(FALSE);
}

실행 제한 시간을 초과했습니다. 작업이 완료되기 전에 실행 제한 시간이 지났거나 서버가 응답하지 않습니다.

 

 

해당 라인 추가

CommandTimeout  를 0으로 주거나 타임아웃 시간을 충분하게 설정

comm.CommandTimeout = 0; 

 

에러내용

변경 내용을 저장할 수 없습니다. 변경 내용을 적용하려면 다음 테이블을 삭제하고 다시 만들어야 합니다.
다시 만들 수 없는 테이블을 변경했거나 [테이블을 다시 만들어야 하는 변경 내용 저장 사용 안 함] 옵션을 설정했습니다.

 

도구 - 옵션 - 디자이너 - 테이블 및 데이터베이스 디자이너 - 테이블을 다시 만들어야 하는 변경 내용 저장 안 함(S)

- 체크해제

 

 

 

 

참고 : https://docs.microsoft.com/ko-kr/troubleshoot/sql/ssms/error-when-you-save-table

MFC 프로그램 중복 실행 방지

 

C프로젝트명App가 있는 cpp 파일에서 해당 코드 작성


/************************ 중복 실행 체크 ************************/
// 컴파일러에게이어플리케이션의모든인스턴스들사이에서공유될수있는
// Shared 섹션을구성하고초기화된변수를삽입하도록한다.
#pragma data_seg("Shared")
volatile LONG g_lApplicationInstances = 0;
#pragma data_seg()
// 링커에게Shared 섹션을읽고, 쓰고, 공유가능한섹션으로설정할것을알려준다.
#pragma comment(linker, "/Section:Shared,RWS")
/************************ end  중복 실행 체크 ************************/

//...

BOOL C프로젝트명App::InitInstance()
{
/************************  중복 실행 체크 ************************/
if (g_lApplicationInstances > 0)
{
// g_lApplicationInstances 가0 이상이 면프로그램이이미실행중이다.
//AfxMessageBox(_T("This Program is already running."));
return FALSE;
}
else
{
// g_lApplicationInstances에1을더하여 프로그램의인스턴스가추가된것을설정한다.
InterlockedExchangeAdd(&g_lApplicationInstances, 1);
}

//기존내용

//


}

다이얼로그 엔터키 막기 _키보드메세지_PreTranslateMessage

 

BOOL CPreTranslateMessageDlg::PreTranslateMessage(MSG* pMsg) {     
// TODO: 여기에 특수화된 코드를 추가 및/또는 기본 클래스를 호출합니다.    
 if (pMsg->message == WM_KEYDOWN)
{       
  
//키 눌렀을때       
  if (pMsg->wParam == VK_RETURN || pMsg->wParam == VK_ESCAPE)
{           
  // esc, 엔터키이면 리턴         
   return TRUE;       
  }  
}  
   return CDialogEx::PreTranslateMessage(pMsg);
}

클래스뷰 - 속성 - 재정의 - PreTranslateMessage  추가

 

or

 

컨트롤 + 쉬프트 + x   - 가상함수 - PreTranslateMessage  추가

- 내용

사전 공유키(Pre-shared key)는 8에서 63자리의 문자! 한국 정부의 방침에 따라서, 비밀번호는 반드시 영문, 특수문자, 숫자를 각 1 개 이상씩 포함하여 총 8 자 이상으로 하여야 합니다.

 

- 방법

 1. Asus 로그인하여 비밀번호 변경창페이지를 띄움

 2. F12를 누른후 Console 탭 이동

 

 3. 아래와 같이 입력

validator.psk_KR = validator.psk 

입력 후 엔터
validator.string_KR = validator.string 

입력 후 엔터

 

 4. 비밀번호 변경

 

 

출처 - rette.iruis.net/2018/04/asua-%EA%B3%B5%EC%9C%A0%EA%B8%B0-%EC%95%94%ED%98%B8%EA%B7%9C%EC%B9%99-%EC%98%81%EB%AC%B8-%ED%8A%B9%EC%88%98%EB%AC%B8%EC%9E%90-%EC%88%AB%EC%9E%90-%EC%82%AC%EC%9A%A9-%EC%9A%B0%ED%9A%8C%ED%95%98%EA%B8%B0/

 

ListBox
        listBox1.SelectedIndex = listBox1.Items.Count - 1; 


ListView
         listView1.Items[listView1.Items.Count -1].EnsureVisible(); 


TextBox
         tbMessage.SelectionStart = tbMessage.Text.Length;
         tbMessage.ScrollToCaret();

출처: https://rescue911.tistory.com/entry/ListBox-ListView-TextBox에서-항상-포커스를-제일-아래로-자동-옮기기

'공부 > C#_자주쓸거' 카테고리의 다른 글

[C#][Winform] 쓰레드 내부에서 컨트롤 수정  (0) 2021.05.11

+ Recent posts