목록Programming (138)
C#,Delphi,Oracle,MSSQL 개발자블로그
● DBMS_PIPE 패키지 내부 세션 통신을 위한 알고리즘을 제공한다.(보안은 되지 않는다.) - 패키지에 포함된 일부 프로시저/함수 → PACK_MESSAGE → SEND_MESSAGE → RECEIVE_MESSAGE → UNPACK_MESSAGE 함수 또는 프로시저 설명 PACK_MESSAGE (프로시저) SEND_MESSAGE 함수로 보낼 항목(VARCHAR2, NUMBER 또는 DATE 유형 항목)을 로컬 메시지 버퍼에 압축합니다. SEND_MESSAGE (함수) 로컬 메시지 버퍼에 들어 있는 메시지를 명명된 파이프로 보냅니다. RECEIVE_MESSAGE (함수) 명명된 파이프에서 메시지를 검색하여 로컬 메시지 버퍼에 넣고 UNPACK 프로시저로 압축을 풉니다. UNPACK_MESSAGE 로컬..
● 오버로드 하나의 패키지 내의 여러 서브프로그램은 동일한 이름을 사용할 수 있다. 동일한 이름의 여러 서브프로그램을 구분하려면 형식 매개변수 개수, 순서 또는 테이터 유형 계열은 달라져야 한다. - 제한사항 : 로컬 또는 패키지 서브프로그램만 오버로드 할 수 있다. Ex. - 패키지 명세 작성. CREATE OR REPLACE PACKAGE over_pack IS PROCEDURE add_dept (v_deptno IN dept.deptno%TYPE, v_name IN dept.dname%TYPE DEFAULT 'unknown', v_loc IN dept.loc%TYPE DEFAULT 'unknown'); PROCEDURE add_dept (v_name IN dept.dname%TYPE DEFAULT ..
자신이 사용하고 있는 오라클 DB의 데이터를 다른 곳으로 옮기고 싶을 때 어떻게 데이터베이스를 덤프(익스포트)/임포트 하는지 알아보겠습니다. DB를 덤프하고 임포트하는 수준에는 크게 3가지 수준이 있습니다. 첫째가 전체 단위, 둘째가 사용자 단위, 셋째가 테이블 단위입니다. 1. 전체 단위(오라클 DB 전체) 덤프(익스포트) | C:\) exp userid=system/비밀번호@SID file='C:\파일명.dmp' full=y 임포트 | C:\) imp userid=system/비밀번호@SID file='C:\파일명.dmp' full=y 2. 사용자 단위(특정 계정/사용자의 DB ) 덤프(익스포트) | C:\) exp userid=계정명/비밀번호@SID file='C:\파일명.dmp' 임포트 | C:\..
테스트용 유저컨트롤 U1 과 U2 를 만들고, 유저컨트롤 U2에서 유저컨트롤 U1의 컨트롤을 상속받는 방법입니다. 컨트롤을 올릴 유저컨트롤 U1 을 만들어 줍니다. 테스트용으로 컨트롤의 Modifiers 속성을 리스트박스만 Public설정하고, 나머지 컨트롤은 기본 상태인 Private으로 둡니다. 유저컨트롤 U2를 만들고, 코드로가서 상속받을 유저컨트롤명을 위와같이 적어준 후, 디자이너보기로 가면 u1의 컨트롤들이 폼에 올라와 있는 것을 확인할 수 있습니다. U1에서 상속받은 컨트롤들은, 속성값이 Public인 것은 상속받은 자식(U2)에서 위치조정이 가능합니다. 또한, U1에서 컨트롤의 위치 등 상태를 변화시킨 후 빌드하면, Private 속성인 부모(U1)의 컨트롤들은 자식에 그대로 적용되지만 Pu..
string 클래스는 문자열과 관련된 수많은 메소드들을 가지고 있습니다. 이들의 목적은 문자열의 내용을 검색하거나 조작하기 위함입니다. 이번 포스트에서는 string의 메소드들을 정리해보았습니다. 단순히 나열하기 보다는 무엇을 하고 싶다는 것을 기준으로 필요할 때 찾아 볼 수 있도록 하였습니다. 원하는 작업 string이 제공하는 필드 또는 메소드 사용 예 출력 결과 알파벳 문자들을 대문자로 바꾼다. string ToUpper() string str = "Super Star"; str = str.ToUpper(); Console.WriteLine(str); SUPER STAR 알파벳 문자들을 소문자로 바꾼다. string ToLower() string str = "Super Star"; str = str..
폼이 로드되자마자, 포커스를 텍스트박스에 가기위해 직관적으로, textBox1.Focus();를 생각하곤 한다. 그러나 이렇게해도, Load시에는 포커스가 가지 않기 때문에, 이럴때에는, this.ActiveControl = textBox1; 을 해준 후, 포커스 설정을 하면 포커스가 텍스트박스 안에서 깜빡이는 것을 확인할 수있다. 한편, 텍스트박스 내의 마우스의 좌표는 육안으로 깜빡거리는 것을 확인하지 않아도 좌표는 그대로 남아있다. [참고] : https://stackoverflow.com/questions/6597196/how-to-put-focus-on-textbox-when-the-form-load
워드패드에 미리 문자열형식(글씨체, 색깔 등)을 지정한 후, C#에서 불러와서 쓰면 편리하게 사용을 할 수 있다. 리치텍스트박스는 rtf(Rich Text Format)라는 메서드를 가지고 있는데 이를 이용하면, 간단하게 리치텍스트박스에안에 색깔을 입힐 수도 있다. 먼저 워드패드를 열고, C#에서 보여주거나 이용할 텍스트를 적고, 자유롭게 글자크기나 폰트, 색깔등을 지정하고 저장해준다. 이 rtf파일은 메모장에서 Text형식으로 열어보면, 다음과 같이 알수없는 문자로 되어있는데 이는 C# 에서 리치텍스트 박스의 rtf메서드를 이용하여 호출하면, 다시 사용자가 보기 쉬운 형태로 보이기 때문에 크게 신경쓰지 않아도 된다. C#에서 리치텍스트박스 컨트롤을 올리고, 솔루션 탐색기에서 Properties의 Res..
전에, C# 공부를 하면서 서점에서 구입한 책을 참고로 간단한 메모장 프로그램을 만든적이있었다. 비록 메모장의 모든 기능이 되는건 아니지만, 기본적인 저장/다른이름으로저장/찾기 등 핵심기능은 잘 되는 것 같다. C#을 공부하는 분들이나, 메모장기능이 필요한 사람들은 받아서 참고하면, 도움이 많이 될 것 같다.
● DLL 만들기 DLL을 만들기위해선 프로젝트 생성시, Windows Forms 응용 프로그램이 아닌, 클래스 라이브러리로 만들어야한다. 클래스 이름을 바꿔주고, int형 변수 두개를 받아서 더해준 값을 리턴해주는 함수를 만든다. using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Test_CreateDLL { public class dllTest { public int fn_Add(int a, int b) { return a + b; } } } DLL 내에서 사용하는 함수나 클래스등은 모두 외부에서 사용할 수 있어야 하므로, 한정..