<!--METADATA TYPE= "typelib"  NAME= "ADODB Type Library" 

      FILE="C:\Program Files\Common Files\SYSTEM\ADO\msado15.dll"  -->

<% 

dim sConn

Set sConn = Nothing

set sConn = Server.CreateObject("ADODB.Connection")

sConn.open "Provider=SQLOLEDB; Data Source=DB주소; Initial Catalog=DBa명; User Id=아이디; Password=비번"

Dim xlsxFile

Dim SheetNamez

Dim xlsxConn

Dim strSQL

xlsxFile = "파일경로"


Set xlsxConn = Server.CreateObject("ADODB.Connection")

xlsxConn.Open "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & xlsxFile & "; Extended Properties=Excel 12.0;"

Set Rs = Server.CreateObject("ADODB.Recordset")

Set rsData = Server.CreateObject("ADODB.Recordset")


SheetName = "시트명"

strSQL = "SELECT * FROM [" & SheetName & "$]"


i = 1

Rs.Open strSQL, xlsxConn, 1, , 1

Do Until Rs.EOF

if i > 3 then ' 행은 1부터 시작

rsData.open "테이블명", sConn, 1, 2, adCmdTable

rsData.addnew

rsData("컬럼1") = trim(Rs(0)) ' 열은 0부터 시작

rsData("컬럼2") = trim(Rs(1))

rsData("컬럼3") = now()


rsData.update

rsData.close


end if


i = i + 1

Rs.MoveNext

Loop


Rs.Close

Set rsData = Nothing

Set Rs = Nothing

Set xlsxConn = Nothing

sConn.Close

set sConn = Nothing

%>


'Classic ASP' 카테고리의 다른 글

request body json data parsing  (1) 2023.11.01
Baisc Auth  (0) 2023.11.01
파일 복사  (0) 2016.11.08
스케쥴러  (0) 2016.09.23
숫자 관련 추가 함수  (0) 2016.06.27

old_path = "c:\test\test.asp"

new_path = "c:\new_test\"    ' 끝에 \까지 넣어주면 권한 문제 발생소지가 줄어든다.


Set fso = CreateObject("Scripting.FileSystemObject")

fso.copyfile  old_path, new_path, true        ' true는 오버라이트, false는 대상폴더에 겹치는 파일이 있으면 중단됨

Set fso = nothing


'Classic ASP' 카테고리의 다른 글

Baisc Auth  (0) 2023.11.01
엑셀 xlsx 읽어들여 DB에 저장하기  (0) 2016.12.05
스케쥴러  (0) 2016.09.23
숫자 관련 추가 함수  (0) 2016.06.27
엑셀파일로 다운로드 받기  (2) 2016.06.22

EXEC sp_helptext 트리거명;


윈도우 스케쥴러를 사용한다.

트리거 - 얼마 단위로 돌릴지 선택
동작 - 프로그램 시작 

프로그램/스크립트
"C:\Program Files (x86)\Internet Explorer\iexplore.exe"

인수추가(옵션) asp 파일 경로
시작위치(옵션) C:\Program Files


설정 - 새인스턴스 실행 안함




'Classic ASP' 카테고리의 다른 글

엑셀 xlsx 읽어들여 DB에 저장하기  (0) 2016.12.05
파일 복사  (0) 2016.11.08
숫자 관련 추가 함수  (0) 2016.06.27
엑셀파일로 다운로드 받기  (2) 2016.06.22
사이트 긁어오기  (0) 2015.08.20

DROP TRIGGER [트리거명]  -- 트리거 삭제


CREATE TRIGGER [트리거명] ON [테이블명]

AFTER INSERT,UPDATE,DELETE -- FOR INSERT,UPDATE,DELETE 와 같음

AS

BEGIN

DECLARE @action char(1) -- 구분자 변수선언

DECLARE @test nvarchar(20)  -- 셀렉트한 데이터 저장용 변수 선언


IF COLUMNS_UPDATED() > 0 -- insert or update

BEGIN

IF EXISTS (SELECT * FROM DELETED) -- update

SET @action = 'U'

ELSE

SET @action = 'I'

END

ELSE -- delete

BEGIN

SET @action = 'D'

END


SELECT Name,@action FROM DELETED;


-- 변수에 값넣기 - 첫번째. 데이터 주입

SELECT @test = 0


-- 변수에 값넣기 - 두번째. 타 테이블에서 불러오기

SELECT @test = col1 FROM table1


-- 변수에 값넣기 - 세번째. INSERT 혹은 UPDATE 한 데이터에서 가져오기

SELECT @test = col2

FROM inserted


-- IF문

IF @test = 0 BEGIN -- IF 조건이 참일때

SELECT 1 -- 조건 걸어넣고 쿼리문 없으면 에러나므로 방지용

END ELSE IF @test > 0 AND @test < 10 BEGIN -- ELSE IF 조건이 참일때

SELECT 1

END ELSE BEGIN -- ELSE 일때

SELECT 1

END

-- null 비교

-- @test is null, @test is not null


END

참고: http://rocabilly.tistory.com/48

오류창이 뜬다면

도구 -> 옵션에 아래와 같이 옵션을 해제해주면 된다.

 

오류내용

KBoard : 이 페이지는 외부에서의 접근을 제한하고 있습니다.


내 경우 원인

1. 에러코드 위치: 리퍼러가 있는데 리퍼러의 경로가 현재 사이트와 다른 경우 다운로드가 되지 않았다.

2. 사이트에 받았는데 이게 무슨일인가 했더니 SSL 때문에 포트번호가 들어갔는데 리퍼러와 비교할 호스트 주소에는 포트번호가 누락되었기 때문이었다.


해결

/wp-content/plugins/kboard/class/KBController.class.php 에서 

$host = isset($_SERVER['HTTP_HOST'])?$_SERVER['HTTP_HOST']:'';

->

$host = isset($_SERVER['HTTP_HOST'])?$_SERVER['HTTP_HOST']:'';

$host .= ":".$_SERVER['SERVER_PORT'];

첨부파일 삭제와 다운로드할 때 두번 나왔음


UPDATE 테이블1 a

INNER JOIN 테이블2 b ON a.컬럼1= b.컬럼1

SET a.컬럼2=b.컬럼2

출처: http://stackoverflow.com/questions/871905/use-select-inside-an-update-query

// 숫자 타입에서 쓸 수 있도록 format() 함수 추가

Number.prototype.format = function(){

    if(this==0) return 0;

 

    var reg = /(^[+-]?\d+)(\d{3})/;

    var n = (this + '');

 

    while (reg.test(n)) n = n.replace(reg, '$1' + ',' + '$2');

 

    return n;

};

 

// 문자열 타입에서 쓸 수 있도록 format() 함수 추가

String.prototype.format = function(){

    var num = parseFloat(this);

    if( isNaN(num) ) return "0";

 

    return num.format();

};


// 콤마가 들어간 문자열을 콤마 제거하면서 숫자형 반환

String.prototype.unformat = function(){

var str = this.replace(/,/g,'');

var num = parseFloat(str);

if( isNaN(num) ) {

return "0";

}


return String(num);

};

 

 

// 숫자 타입 test

var num = 123456.012;

console.log(num.format());               // 123,456.012

 

num = 13546745;

console.log(num.format());               // 13,546,745

 

// 문자열 타입 test

console.log("12348".format());           // 12,348

console.log("12348.6456".format());      // 12,348.6456


출처: http://stove99.tistory.com/113


항상올림

Function roundUp(x) If x > Int(x) then roundup = Int(x) + 1 Else roundup = x End If 

End Function


숫자 앞에 0으로 채우기

Function PadDigits(n, length)
   PadDigits = Right(String(length,"0") & n, length)
End Function


출처: http://www.albofish.co.uk/2011/03/asp-functions-round-up-leading-zeros/



숫자를 한글로

Function chang_money(money)

        dim num1 ' 한글 숫자 배열

        dim num2 ' 한글 숫자 단위 배열

        dim posNoLevel ' 한글 숫자 단위 출력 위치

        dim tempNo ' 한글 숫자 현재 단위 조립용

        dim strNo ' 한글 숫자 전체 조립용

        dim cntNo ' 변환할 숫자의 길이

        dim posNo ' 변환할 숫자의 현재 변환 위치

        

        num1 = Array("", "일", "이", "삼", "사", "오", "육", "칠", "팔", "구")

        num2 = Array("", "십", "백", "천", "만", "십", "백", "천", "억", "십", "백", "천", "조", "십", "백", "천", "경")

        

        cntNo = Len(money)

        

        ' 숫자가 0 일 경우

        if money = 0 then 

                strNo = "영"

        else

                strNo = ""

                posNoLevel = 0

                posNo = cntNo

                do

                        mo = Cint( Mid(money, posNo, 1) )


                        ' 나머지 값이 0 이 아닐 경우

                        if 0 < mo then

                                tempNo = num1(mo)

                                tempNo = tempNo & num2(posNoLevel)

                                strNo = tempNo & strNo

                        else

                                ' 나머지 값이 0 이면서 10000 단위일때(만, 억, ..)

                                if (posNoLevel Mod 4) = 0 then

                                        strNo = num2(posNoLevel) & strNo

                                end if

                        end if

                        

                        posNoLevel = posNoLevel + 1

                        posNo = posNo - 1

                loop while 0 < posNo

        end if

        

        chang_money = strNo

End Function


출처: http://dumbung.com/main/bbs/board.php?bo_table=ASP_TIP&wr_id=9





'Classic ASP' 카테고리의 다른 글

파일 복사  (0) 2016.11.08
스케쥴러  (0) 2016.09.23
엑셀파일로 다운로드 받기  (2) 2016.06.22
사이트 긁어오기  (0) 2015.08.20
ASP에서 JSON을 쓰려면  (0) 2015.03.06

+ Recent posts