개발 관련 조각/SQL2011.02.15 17:58

mssql 도 오라클처럼 rownum을 사용할 수 있습니다. 조금 다르지만 사용가능합니다.
예)
- 한 페이지에 10개씩 출력되는 게시판의 첫번째 페이지이고
- ExTable ( exid varchar(20), regdate datetime) 라고 가정하고.
- 페이지 스케일이 10 row 일때
 
SELECT exid, regdate
FROM ( 
SELECT Row_Number() OVER (ORDER BY regdate DESC) AS rownum, exid, regdate FROM ExTable
) Table
WHERE rownum BETWEEN [(페이지번호-1) * 스케일+1] AND [페이지번호 * 스케일]

이렇게 쓰면 됩니다.
'not in' 에 서브쿼리로 구현한 것 본적이 있는데 페이지 수가 많아지면 골치아파 집니다.
not in은 절대 비추입니다.

단 MSSQL 2000 에서는 안되는걸로 알고있습니다.
신고
Posted by 로보찌빠 네롱메롱별인
개발 관련 조각/ASP2011.02.11 16:31


<%
response.write "now : " & now & "<br>" & vbcrlf
response.write "now + 1 : " & (now+1) & "<br>" & vbcrlf
response.write "date : " & date & "<br>" & vbcrlf
response.write "dateadd : " & DateAdd("m", 1, "31-Jan-95") & "<br>" & vbcrlf
response.write "datediff : " & DateDiff("d", DateAdd("m", 1, "31-Jan-95"),Now) & "<br>" & vbcrlf
response.write "datepart : " & DatePart("q", now) & "<br>" & vbcrlf
response.write "dateserial : " & DateSerial(1990 - 10, 8 - 2, 1 - 1) & "<br>" & vbcrlf
response.write "DateValue : " & DateValue("September 11, 1963") & "<br>" & vbcrlf
response.write "time : " & Time & "<br>" & vbcrlf
response.write "Timeserial : " & TimeSerial(12 - 6, -15, 0) & "<br>" & vbcrlf
response.write "timevalue : " & TimeValue("4:35:17 PM") & "<br>" & vbcrlf
theday="00-11-08 오전 9:50:31"
response.write isdate(theday) & "<BR>" & vbcrlf
response.write "second : " & second(now) & "<br>" & vbcrlf
response.write "second : " & second(theday) & "<br>" & vbcrlf
response.write "minute : " & Minute(now) & "<br>" & vbcrlf
response.write "hour : " & Hour(now) & "<br>" & vbcrlf
response.write "day : " & day(now) & "<br>" & vbcrlf
response.write "weekday : " & weekday(now) & "<br>" & vbcrlf
response.write "weekdayname : " & weekdayname(weekday(now)) & "<br>" & vbcrlf
response.write "month : " & month(now) & "<br>" & vbcrlf
response.write "monthname : " & monthname(month(now)) & "<br>" & vbcrlf
response.write "year : " & year(now) & "<br>" & vbcrlf

%>

 

 

실행결과

 

now : 2006-07-25 오후 6:52:24
now + 1 : 2006-07-26 오후 6:52:24
date : 2006-07-25
dateadd : 1995-02-28
datediff : 4165
datepart : 3
dateserial : 1980-05-31
DateValue : 1963-09-11
time : 오후 6:52:24
Timeserial : 오전 5:45:00
timevalue : 오후 4:35:17
isdate(theday) : True
second : 24
second : 31
minute : 52
hour : 18
day : 25
weekday : 3
weekdayname : 화요일
month : 7
monthname : 7월
year : 2006


[ 원문 : http://blog.naver.com/amoong25/100026680439 ]

신고

'개발 관련 조각 > ASP' 카테고리의 다른 글

[개발 팁] asp 날짜관련 함수  (0) 2011.02.11
Posted by 로보찌빠 네롱메롱별인
개발 관련 조각/SQL2011.02.11 16:29

 

오라클

     SELECT * FROM [TABLE] WHERE ROWNUM <= 10

 

MSSQL

     SELECT TOP 10 * FROM [TABLE]

신고
Posted by 로보찌빠 네롱메롱별인
개발 관련 조각/OS2011.02.11 16:24
리눅스로 부팅 > 루트로 로그인 > /etc/grub.conf를 변경해서 부팅 순서를 조절 할 수 있습니다.

아래 내용을 참조해서 순서를 바꿀 수 있습니다.

[자료 출처 :# I N C L U D E < 세 상 >  ]

grub.conf 파일에서 각 라인의 의미

1. default=0

 기본적으로 부팅되는 부트 엔트리의 번호. 각각의 부트 엔트리는 "title"로 시작하고, 0, 1, 2, 3 순이다.

default=0 이므로 부트 엔트리는 1개뿐이고, 0번이 들어 있다는 의미이다.

 

2. timeout=10

 초기에 부팅시 10초 동안 부팅할 os를 선택할 시간을 준다는 의미이다. 설정한 시간동안 아무런 선택도

하지 않는다면 "default=번호"로 설정된 부트 엔트리로 부팅하게 된다.

 

3. splashimage=(hd0, 0)/boot/grub/splash.xpm.gz

 GRUB 메뉴의 부팅 이미지 파일을 지정한 부분. "(hd0, 0)" 의 의미는 0번째(첫번째) IDE 하드디스크 (hd0)에서

0번째(첫번째) 파티션을 의미한다. 결국 /dev/hda1 장치를 의미한다.

 * 하드디스크가 2개 연결되어 있고, 각각의 하드디스크가 2개의 파티션을 가지고 있다면

/dev/hda1, /dev/hda2, /dev/hdb1, /dev/hdb2 장치가 존재하게 된다.

4. hiddenmenu

 GRUB 부트 로더를 보여주지 않는 설정. 삭제하면 GRUB 부트 로더 화면이 처음에 보이게 된다.

 

5. title Fedora  (2.6.25-14.fc9.i686)

    "title" 은 부팅되는 부트 엔트리를 의미하며 초기 화면에서 보이는 메뉴 이름이다.

              root (hd0, 0)

               /boot 파티션이 저장된 장치를 의미한다.

              kernel /boot/vmlinuz-2.6.25-14.fc9.i686 ro root=LABEL=/ rhgb quiet

               "kernel" 다음에 오는 것은 실제 부팅할 커널 파일이다. "root=LABEL=/" 은 디바이스 이름 대신에

               레이블 이름으로 사용한 것이다. 즉, "root=/dev/hda1"으로 써도 된다.

               "rhgb" 는 "RedHat Graphic Booting"의 약어이다. "quiet" 부팅 시 메시지를 화면에 출력하지 않도록

               설정하는 것이다.

              initrd /boot/initrd-2.6.25-14.fc9.i686.img

               initrd 이미지가 있는 경로와 파일명이다.

[원문 : http://siramode.blog.me/80061993787 ]

신고
Posted by 로보찌빠 네롱메롱별인
개발 관련 조각/OS2011.02.11 10:54

윈도우7을 어드민이 아닌 계정으로 사용하다 보니 관리자 권한으로 실행하지 않으면 특정 폴더에 저장이 되지 않는다던지 하는 불편함이 있네요. 알아본 결과 항상 관리자 권한으로 프로그램을 실행하는 방법은 아래와같이 두가지 방법이 있네요..
아..어드민계정으로 접속하는 방법도 있네요~^^


- 고정핀으로

1. 프로그램 아이콘 선택 > 마우스 우클릭 - "관리자 권한으로 실행" 을 선택 하여 실행
2. 작업표시줄에 표시된 아이콘을 마우스 우클릭 > '이 프로그램을 작업 표시줄에 고정' 메뉴를 선택
이렇게 하시고 상태표시줄에 바로가기 버튼으로 실행을 하면 항상 관리자 권한으로 실행됩니다.


- 설정으로

프로그램 아이콘 선택 > 마우스 우클릭 > 속성 > 호환성(탭) > 하단에 '권한 수준'클릭 > [모든 사용자에 대한 설정 변경] -모든 사용자에게 적용하려면 클릭 > 적용하기
이렇게 하면 해당 프로그램이 아이콘으로 실행될 때 항상 관리자 권한으로 실행됩니다.

도움이 되셨길~

신고
Posted by 로보찌빠 네롱메롱별인
개발 관련 조각/OS2011.02.10 13:32

제어판 > 프로그램 > Windows 기능 사용/사용 안 함 > 인터넷 정보 서비스 > World Wide Web 서비스 > 응용프로그램개발 기능 > ASP 를 체크해주면 해결됨..ㅡㅡ;;

매우 귀찮음;;
신고
Posted by 로보찌빠 네롱메롱별인


안드로이드 개발중 ListView에 웹에서 가저오는 데이터 띄워주는 동안 동글뱅이 돌아가면서 '잠시만 기다려주세요'라는 메시지를 보여주려다 수십차례 삽질을 했습니다..

webview에서 로딩할 때는 간단하게 되는데 ListView에서 ProgressDialog를 사용하려니까 잘 안되더라구요.
뭐 삽질은 했지만 다른 분들에게 많은 도움을 받았기에 나와 같은 고민을 하고 있는 분이 혹시라도 있으면 조금이나마 도움이 되고자 포스트 합니다.

아래 WatingDialog 클래스로 만들어 봤습니다. 사용법은

WatingDialog waitingDialog = new WatingDialog(context);
waitingDialog.startWaitingDialog("대기 중 보여줄 메시지");

이렇게 WatingDialog 객체를 new해서 startWaitingDialog를 하면 다이얼로그가 보여집니다.
그리고 끝나는 시점에서 waitingDialog.dismissWaitingDialog();를 호출해주면 다이얼로그를 Dismiss할 수 있습니다.
ListView 같은 경우에는 Adapter 에서 getView메소드 마지막 view객체를 return하기 전에 불러주면 다이얼로그가 닫아집니다.

이렇게 만들려면 waitingDialog 객체를 클래스객체로 선언해야 하는데 더 좋은 방법이 있는지는 잘 모르겠습니다.
혹시 더 좋은 방법이나 잘못된 부분을 지적해 주시면 많은 도움이 되겠습니다~ 그럼^^;



public class WatingDialog{
 
 private Context mContext;
 private Handler prgressHandler = new Handler() {
  public void handleMessage(Message msg) {
   //특별히 msg에 대한 처리는 하지 않음.
   watingDialog.dismiss();
  }
 };
 ProgressDialog watingDialog;
 
 public WatingDialog(Context context)
 {
  mContext = context;
 }
 
 /**
  * < WaitingDialog 를 멈추기 위한 메서드. >
  *
  * @author [찌빠]
  */
 public void dismissWaitingDialog(){
  Message msg = prgressHandler.obtainMessage();
  prgressHandler.sendMessage(msg);
 }
 
 /**
  * < WaitingDialog에 Massege를 설정하고 다이어로그를 보여주는 메서드. >
  *
  * @param [msg] [Dialog 에 보여지는 내용]
  * @author [찌빠]
  */
 public void startWaitingDialog(final String msg){
  new Thread(){
      public void run(){
   Looper.prepare();
   watingDialog = (ProgressDialog) onCreateDialog(msg);
   watingDialog.setOnCancelListener(new android.content.DialogInterface.OnCancelListener() {
    @Override
    public void onCancel(DialogInterface dialog) {
     // 로딩 중에 뒤로가기 버튼이 눌렸을 때 현재 Activity를 finish 해준다.

     ((Activity) mContext).finish();
    }
   });

   watingDialog.show();
       Looper.loop();
      }
     }.start();
 }
 
 /**
  * < startWaitingDialog()시 Dialog를 생성하는 메서드 >
  *
  * @param [msg] [Dialog 에 보여지는 내용]
  * @return [Dialog를 반환함.]
  * @author [찌빠]
  */
 protected Dialog onCreateDialog(String msg) {

  ProgressDialog progressDialog = new ProgressDialog(mContext);
  progressDialog.setMessage(msg);
  progressDialog.setCancelable(true);
  
  return progressDialog;
 }
}

신고
Posted by 로보찌빠 네롱메롱별인

티스토리 툴바