사이드바 영역으로 건너뛰기

게시물에서 찾기분류 전체보기

130개의 게시물을 찾았습니다.

  1. 2011/12/23
    어제가 생일이었다.
    단단이아빠
  2. 2011/12/08
    자바스크립트 (funtion(){})()
    단단이아빠
  3. 2011/11/04
    [펌] 오라클 컬럼의 값이 문자인지 숫자인지 구별하는 함수
    단단이아빠
  4. 2011/10/24
    내 양력 생일
    단단이아빠
  5. 2011/08/22
    (펌)재귀 호출을 이용한 폴더내의 파일 전부 검색하기
    단단이아빠
  6. 2011/08/16
    이빨을 뽑았다.
    단단이아빠
  7. 2011/08/04
    TWebBrowser 을 이용하여 웹페이지의 값을 가져올 때
    단단이아빠
  8. 2011/08/04
    Server2008R2 에 bluetooth 사용하기
    단단이아빠
  9. 2011/08/02
    월간 마이크로소프트웨어 8월호를 시원하게 쏩니다 !!! (추첨 20명)(1)
    단단이아빠
  10. 2011/06/27
    그냥 같이 살거나 같이 죽거나....
    단단이아빠

Delphi2007 + Firebird-2.5.1.26351-0_Win32_embed

로컬에서만 작업해야 할 프로젝트가 하나 있어서 디비로 acess 를 사용할 까 하다가 파이어버드를 사용하기로 하고 작업시작....

 

하루종일 삽질 중...

 

먼저 좀 편하게 제어하기 위해서

 

flamerobin 을 찾았다. 파이어버드 임베디드를 위한 gui 프로그램...

 

http://www.flamerobin.org/

 

 


사용자 삽입 이미지

 

그런데 문제는 예전에 깔아보았던 파이어버드 서버 때문에 C:\Windows\SysWOW64 에 gds32.dll 때문에 제대로 작동을 안한다.

 

뭔가 다른 방법이 있겠지만 지금은 바빠서리(이것때문에 언젠가 우리나라 it는 망할거다. 젠장) 기존에 있던 gds32,dll을 삭제하고 fbembed.dll를 gds32.dll로 이름 변경해서 복사했다. 혹시 몰라서  C:\Windows\system32에도 복사.

 

그외에

 

 

aliases.conf
firebird.conf
fbclient.dll
fbembed.dll
ib_util.dll
icudt30.dll
icuin30.dll
icuuc30.dll
msvcp71.dll
msvcp80.dll
msvcr71.dll
msvcr80.dll
Microsoft.VC80.CRT.manifest
firebird.msg
 
도 몽땅 복사...
 
나중에 배포할 때는 이것중 하나씩 필요한 게 뭔지 확인해서 함께 배포해야 할테지...
 
 
일반 개발할 때는 D:\에 데이터베이스 파일을 넣어놓고 작업하다가 나중에 배포할 때는 경로를 ./의 형태로 해서 해야할 거 같다.
 
 
델파이에서 디비 연결은 unidac 을 사용한다.
 

사용자 삽입 이미지

 

일단 연결에 문제가 없으면 다른 데이터베이스 사용할 때와 같이 query 나 table 얹어놓고 데이터소스 연결해서 디비그리드나 디비텍스트박스 사용해서 처리 가능....

 

 

 

진보블로그 공감 버튼
트위터로 리트윗하기페이스북에 공유하기딜리셔스에 북마크

나는 꼼수다 비키니 논쟁에 대한 생각

비키니 입고 정봉주 석방 사진을 올린 것과 그에 대한 나는 꼼수다의 태도에 대해서 말들이 많다.

 

어차피 성희롱은 당사자가 그렇게 느끼는가 가 성희롱이냐 아니냐가 결정되기에 그것에 대해서 성희롱이라고 이야기하는 사람들에 대한 문제는 없다. 

 

다만 수치심이 느껴져서 성희롱이라고 생각되었다면 그에 대해서 문제제기하는 건 좋지만 "당연히 그래야만 하는 명제"처럼 이야기 안했으면 하는 마음이 있다. 안 그렇게 느끼는 나 같은 사람도 많거든... "내가 기분 나쁜 것"이지 "니네들이 잘못한 것"은 아니라고 생각한다.

 

그리고 제발 그들의 말이 맞건 틀리건,그들의 주장일 옳건 그르건 관계없이 자신의 말을 했으면 한다. 정맞고 망치맞아서 둥글둥글해진 의견이 아니라...

 

씨바 세상에 그런 잡놈들도 있어야지...

진보블로그 공감 버튼
트위터로 리트윗하기페이스북에 공유하기딜리셔스에 북마크

어제가 생일이었다.

어제가 생일이었는데 식구들 모두가 몰랐다는게 짜증...

 

마님하고 살짝 부부싸움..

 

도대체 관심이 없어.

진보블로그 공감 버튼
트위터로 리트윗하기페이스북에 공유하기딜리셔스에 북마크

자바스크립트 (funtion(){})()

자바스크립트에서 

 

(funtion(){

 

})();

을 사용하는 건 1번만 실행되고 메모리에서 사라지게 하고 싶을 때

진보블로그 공감 버튼
트위터로 리트윗하기페이스북에 공유하기딜리셔스에 북마크

[펌] 오라클 컬럼의 값이 문자인지 숫자인지 구별하는 함수

출처 : http://oracleebs.co.kr/?p=41

 

 

STX_OUT_TEMP 테이블의 ATTRIBUTE1 컬럼의 값들이 아래 그림에서와 같습니다.

2010-03-23_155814

즉, VARCHAR2 형식으로 정의된 컬럼에 저장된 값은 숫자형, 문자형, 기호 이렇게 아무렇게나 저장이 되어 있습니다.
이 컬럼의 값들 중에 숫자형식으로 나타낼 수 있는 값들만을 쿼리하고 싶다면,

		SELECT ATTRIBUTE1
  FROM STX_OUT_TEMP
 WHERE TRANSLATE(ATTRIBUTE1,'A1234567890','A') IS NULL;

과 같은 SQL 문을 생각할 수 있습니다.

TRANSLATE() 함수를 이용하여 숫자 혹은 문자를 특정문자(위의 SQL에서는 NULL로 바뀜)로 변환하는 방법입니다. TRANSLATE() 함수에 대한 설명은 레퍼런스를 찾아보시면 될 듯 하구요. 간단히 예를 들어

		SELECT TRANSLATE(ATTRIBUTE1,'A1234567890','A'),                                                    -- 숫자
       TRANSLATE(ATTRIBUTE1,'0abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ','0'),          -- 문자
       TRANSLATE(ATTRIBUTE1,'@1234567890abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ','@') -- 특수문자
  FROM STX_OUT_TEMP;

위의 SQL을 실행해보면, TRANSLATE() 함수로 문자 혹은 숫자 중 골라내고 싶은 값을 NULL 문자로 치환하여 WHERE 문에 IS NULL 을 조건으로 주면 해당 RECORD를 SELECT 할 수 있습니다.

다시 말해, 컬럼의 값들이 숫자로만 되어 있는 지, 아니면 문자로 되어있는지 이렇게 알고 싶을 때가 있는데 이때 쉽게 사용할 수 있는 함수가 ORACLE 에는 없는 것으로 알고 있습니다. 그래서 위와 같은 SQL문을 생각하게 되는 것입니다.

그러나, MS-SQL 에서는 ISNUMERIC() 이라는 함수가 있습니다.  
MS-SQL의 이 함수처럼 ORACLE 에서도 테이블의 특정 컬럼에 문자와 숫자가 병행되어 입력되는 상황에서 이 컬럼중에서 숫자 형식으로만 된 값과 아니면 문자(정확히 말하면, 숫자로 변환할 수 없는)값으로 된 레코드만을 알고자 할 때가 필요합니다.

그래서, 오라클에서도 MS-SQL에서와 동일한 기능을 하는 함수를 만들어 사용하면 될 듯 하여 아래와 같은 함수를 만들었습니다.

		CREATE OR REPLACE FUNCTION ISNUMERIC(i_str VARCHAR2) RETURN NUMBER
IS
 v_ret NUMBER;
BEGIN
  IF i_str IS NULL OR LENGTH(TRIM(i_str)) = 0 THEN
    RETURN 0;
  END IF;
 
  V_RET := TO_NUMBER(I_STR);
  RETURN 1;
 
EXCEPTION WHEN OTHERS THEN
  RETURN 0;
END ;

함수의 내용을 보면 입력 값이 올바른 숫자 데이터 형식으로 변환되면 1을 반환하고, 그렇지 않으면 0을 반환합니다.

이렇게 작성된 함수를 활용하여, 처음 소개한 SQL 문을 변경하여 보면

		SELECT ATTRIBUTE1
  FROM STX_OUT_TEMP
 WHERE ISNUMERIC(ATTRIBUTE1) = 1;

로 변경할 수 있습니다.

이와 같이 공통적으로 활용될 수 있는 함수는 미리 정의하여 프로젝트 팀원간에 공용으로 활용하면 좋을 듯 합니다.

 

작성 : amagrammer / 편집 : amagrammer

진보블로그 공감 버튼
트위터로 리트윗하기페이스북에 공유하기딜리셔스에 북마크

내 양력 생일

난 음력으로 1968년 11월 28일에 태어났다....

 

양력으로 보니 1969년 1월 16일 목요일에 태어났다.. 음.. 단단이 엄마가 맨날 누나라고 부르는게 이해가 가는구만...

 

태어난 시간은 어머니하고 고모하고 기억하는 시간이 틀려서리.....

 

엄마 말로는 오전 11시라고 하고 고모 말로는 저녁밥 짓는 연기가 올라올 때라고 했으니 아마 오후 6시 경..?

 

누구 말이 맞는건지...

진보블로그 공감 버튼
트위터로 리트윗하기페이스북에 공유하기딜리셔스에 북마크

(펌)재귀 호출을 이용한 폴더내의 파일 전부 검색하기

 

 

function TfmBackUp.FindFile(FolderName: String): Integer;
var
 RowIndex : Integer;
 SR : TSearchRec;
begin
 if (findFirst(FolderName+'\*.*',faAnyFile,Sr)) = 0 then
   repeat
     if (Sr.Name <> '.') and (Sr.Name <> '..') then
     begin
       if (SR.Attr and faDirectory) = faDirectory then
       begin
         FindFile(FolderName + '\'+SR.Name);
       end
       else
         ListBox1.Items.Add(Sr.Name);
     end;
   until FindNext(Sr) <> 0;
 FindClose(Sr);
end;

진보블로그 공감 버튼
트위터로 리트윗하기페이스북에 공유하기딜리셔스에 북마크

이빨을 뽑았다.

지난 주부터 죽어라고 아프던 이빨을 오늘 뽑았다. 오른쪽 어금니와 사랑니(예전에 잇몸 치료할 때 사랑니는 다 뽑은 줄 알았더니 오른쪽은 안뽑았더만...). 간만에 죽을거 같은 아픔을 느껴봤네..

 

진보블로그 공감 버튼
트위터로 리트윗하기페이스북에 공유하기딜리셔스에 북마크

TWebBrowser 을 이용하여 웹페이지의 값을 가져올 때

wb1.OleObject.Document.getElementById('axisY').value

진보블로그 공감 버튼
트위터로 리트윗하기페이스북에 공유하기딜리셔스에 북마크

Server2008R2 에 bluetooth 사용하기

T60에 서버2008R2를 깔아봤다. 요즘 작업은 많은데 버벅거리고 다운되서 이왕에 새로 까는김에.

 

좀 안정적인거 같긴 한데 몇개 드라이버가 안잡힌다. 지문인식 같은 경우는 Administrator 계정으로는 안되고 새로 계정을 생성해서 처리해야 하고..

 

그중에서 블루투스는 영 안되서 구글링 하다가 찾았다. Administrator 계정으로 로그인해서 install.cmd 클릭해주면 된다.

 

[bluetooth.zip (2.41 MB) 다운받기]

진보블로그 공감 버튼
트위터로 리트윗하기페이스북에 공유하기딜리셔스에 북마크