|
보여주신 소스로만은 정확하게 알 수는 없겠지만, 제 생각에는 ASP에서 불러 쓰기 위한 dll인 거 같군요.
ASP에서 불러쓰는 dll은 일반 dll이 아니라 Active Server Object로 만들어야 합니다.
File -> New -> Other 선택하면 나오는 New Items 다이얼로그에서, ActiveX 탭 -> Active Server Object 아이콘을
선택하면 됩니다.
그럼...
쏘세지 님이 쓰신 글 :
: 원래는 VB를 사용하다 지금 갑자기 빌더로 넘어오게 되었습니다.
: 일반적으로 VB에서는 모듈로 만들어 사용했습니다.
: (참고:아래와 같이...)
: 그런데 이런걸 빌더에서는 어떤식으로 만들어 사용해야 되는지
: 제가 지금 화면을 다 DLL로 만들어 하나의 프로젝트에 포함시켜 사용하고 있습니다.
: 각각 개별의 작업을 하는 화면인지라..
: 위에 VB소스 처럼 사용하려구 하는데
: 만들어 놓으신게 있으면 참고 하려고 하는데 도움좀 부탁드립니다.
: DLL로 만들어야 되나영? DLL로 만들경우 화면에서 포함하게 되면 여러번 connect를 해야 될것 같은데..
: 어떤식으로 만들어야 되는지..혹시 만든신게 있다면 공개해주실순 있는지....
: 빌더는 첨인지라 많이 헤메게 되네영 그럼 즐 프하세영 참고로 여기서 제 나름대로 찾아봤는데
: 없어서 질문 올립니다~~^^
:
: Option Explicit
:
: '=====================================================================================================
: ' DB와 연결 종료
: '=====================================================================================================
:
: Public Sub AdoDisConnect()
:
: If AdoCon.State = adStateOpen Then
: AdoCon.Close
: Set AdoCon = Nothing
: End If
:
: End Sub
:
: '=====================================================================================================
: ' DB와 연결
: '=====================================================================================================
:
: Public Function AdoConnect() As Boolean
:
: Dim strConn As String
:
: On Error GoTo Error_Process
: Screen.MousePointer = 11
:
:
: 'strConn = "Provider=OraOLEDB.Oracle.1;Data Source=" & gDB_SERVER & ";User ID=" & gDB_USERID & ";Password=" & gDB_PASSWORD & ";"
: strConn = "Provider=Microsoft.Jet.OLEDB.4.0;" & "Data Source=D:\신동아화재\Source\Source_20060206\DB\표준화데이터DB\db1.mdb;"
: Set AdoCon = New ADODB.Connection
: AdoCon.ConnectionTimeout = 10
: AdoCon.CursorLocation = adUseClient
: AdoCon.Open strConn
: Screen.MousePointer = 0
:
: AdoConnect = True
: Exit Function
:
: '에러 체크
: Error_Process:
: Screen.MousePointer = 0
:
: MsgBox "DB Connection(Ado)을 하지 못했습니다" & vbCrLf & vbCrLf _
: & "Error Number : " & Err.Number & vbCrLf _
: & "Description : " & Err.Description, vbCritical, "DB Connect Error"
: AdoConnect = False
: End Function
:
: '=====================================================================================================
: ' SELECT
: '=====================================================================================================
:
: Public Function AdoQyOpenSet(ByRef adoRS As ADODB.Recordset, ByVal sql As String, ByRef nRecordCount As Long) As Boolean
:
: On Error GoTo ADOError:
:
: nRecordCount = 0
:
: Set adoRS = New ADODB.Recordset
: adoRS.CursorType = adOpenStatic
: adoRS.LockType = adLockReadOnly
: adoRS.CursorLocation = adUseClient
:
: adoRS.Open sql, AdoCon
:
: If Not adoRS.EOF Then
: nRecordCount = adoRS.RecordCount
: End If
:
: AdoQyOpenSet = True
:
: Exit Function
: ADOError:
:
: Set adoRS = Nothing
: AdoQyOpenSet = False
: DisplayADOError
: Screen.MousePointer = 0
:
: End Function
:
: '=====================================================================================================
: ' UPDATE,INSERT,DELETE
: '=====================================================================================================
:
: Public Function AdoQyExec(ByVal sql As String) As Boolean
:
: On Error GoTo ADOError:
:
: If sql <> "" Then
: Call AdoCon.Execute(sql)
: End If
:
: AdoQyExec = True
:
: Exit Function
:
: ADOError:
: AdoQyExec = False
: DisplayADOError
: Screen.MousePointer = 0
:
: End Function
:
: '=====================================================================================================
: ' Recordset을 닫는다.
: '=====================================================================================================
:
: Public Sub AdoCloseSet(ByRef adoRS As ADODB.Recordset)
:
: If adoRS.State = adStateOpen Then
: adoRS.Close
: Set adoRS = Nothing
: End If
:
: End Sub
:
: '=====================================================================================================
: ' Select한 결과를 필드 단위로 Error Check 한다.(String의 경우)
: '=====================================================================================================
:
: Public Function AdoGetString(ByRef adoRS As ADODB.Recordset, ByVal AdoCol As String, ByVal adPosBOF As Long) As String
:
: On Error GoTo ReadError
:
: adoRS.AbsolutePosition = adPosBOF + 1 '현재레코드의 위치
: AdoGetString = Trim(adoRS.Fields(AdoCol).Value & "")
: Exit Function
:
: ReadError:
:
: Dim strTemp As String
:
: AdoGetString = ""
: strTemp = ", Form Name : " & Screen.ActiveForm.Name & "-" & Screen.ActiveForm.ActiveControl.Name
:
: Select Case Err.Number
: Case 40041 'Invalid Column Name
: Debug.Print "AdoGetString Error - Invalid Column Name - " & AdoCol & strTemp
: Case 40022 'Invalid Position Number
: Debug.Print "AdoGetString Error - Invalid Position Number - " & AdoCol & "(" & CStr(adPosBOF) & ")" & strTemp
: Case 91
: Case 94
: Case Else
: Debug.Print "AdoGetString Error - " & RTrim(Str(Err.Number)), Err.Description & strTemp
: End Select
:
: End Function
:
: '=====================================================================================================
: ' Select한 결과를 필드 단위로 Error Check 및 Null 값 체크한다.(Number의 경우)
: '=====================================================================================================
:
: Public Function AdoGetNumber(ByRef adoRS As ADODB.Recordset, ByVal AdoCol As String, ByVal adPosBOF As Long) As Double
:
: On Error GoTo ReadError
:
: adoRS.AbsolutePosition = adPosBOF + 1 '현재레코드의 위치
: AdoGetNumber = IIf(IsNull(adoRS.Fields(AdoCol).Value), 0, adoRS.Fields(AdoCol).Value)
: Exit Function
:
: ReadError:
:
: Dim strTemp As String
:
: AdoGetNumber = 0
: strTemp = ", Form Name : " & Screen.ActiveForm.Name & "-" & Screen.ActiveForm.ActiveControl.Name
:
: Select Case Err.Number
: Case 40041 'Invalid Column Name
: Debug.Print "AdoGetNumber Error - Invalid Column Name - " & AdoCol & strTemp
: Case 40022 'Invalid Position Number
: Debug.Print "AdoGetNumber Error - Invalid Position Number - " & AdoCol & "(" & CStr(adPosBOF) & ")" & strTemp
: Case 91
: Case 94
: Case Else
: Debug.Print "AdoGetNumber Error - " & RTrim(Str(Err.Number)), Err.Description & strTemp
: End Select
:
: End Function
:
: '=====================================================================================================
: ' Ado에 대한 Error을 디스플레이 한다.
: '=====================================================================================================
:
: Public Sub DisplayADOError()
:
: Dim er As ADODB.Error
:
: For Each er In AdoCon.Errors
: MsgBox "Number : " & er.Number & vbCrLf & _
: "Text : " & er.Description & vbCrLf & _
: "SQL State : " & er.SqlState & vbCrLf & _
: "Source : " & er.Source & vbCrLf & _
: "Native : " & er.NativeError
: Next
:
: End Sub
:
: '*=====================================================================================================*
: ' Name : AdoStrReplace
: ' Description : SQL문을 받아서 '을 ''로 바꾸어 주는 함수
: ' Input : tmpStr - SQL문
: ' Return : 바뀐 SQL문
: ' Date :
: ' Update :
: '*=====================================================================================================*
: Public Function AdoStrReplace(ByVal tmpStr As String) As String
:
: tmpStr = Replace(tmpStr, "'", "''")
: tmpStr = Replace(tmpStr, Chr(0), "")
: AdoStrReplace = tmpStr
:
: ' MsgBox Chr(tmpStr)
:
: End Function
:
: '*=====================================================================================================*
: ' Name : AdoGetCurrentDate
: ' Description : 데이타베이스 서버의 서버일자를 가져오는 함수
: ' Input : Kind - 1 : Date Only (YYYYMMDD)
: ' 2 : DateTime (YYYYMMDDHHMMSS)
: ' 3 : DateTime (YYYYMMDD HH:MM:SS)
: ' 4 : DateTime (YYYYMMDDHHMMSSMMM)
: ' Return : 서버일자
: ' Date :
: ' Update :
: '*=====================================================================================================*
: Public Function AdoGetCurrentDate(ByVal kind As Integer) As String
:
: Dim adoRS As ADODB.Recordset
: Dim sql As String
:
: On Error GoTo ErrorHandler
:
: Set adoRS = New ADODB.Recordset
:
: Select Case kind
: Case 1
: sql = "SELECT CONVERT(CHAR(8),GETDATE(),112) AS CURDATE"
: Case 2
: sql = "SELECT CONVERT(CHAR(8),GETDATE(),112)"
: sql = sql + "+REPLACE(CONVERT(CHAR(8),GETDATE(),108),':','') AS CURDATE"
: Case 3
: sql = "SELECT GETDATE() AS CURDATE"
: Case 4
: sql = "SELECT REPLACE(REPLACE(REPLACE(REPLACE(CONVERT(CHAR(23),GETDATE(),121),'-',''),' ',''),':',''),'.','')"
: sql = sql + "AS CURDATE"
: End Select
:
: adoRS.Open sql, AdoCon, adOpenForwardOnly, adLockReadOnly
:
: AdoGetCurrentDate = adoRS("CURDATE")
:
: adoRS.Close
: Set adoRS = Nothing
:
: Exit Function
:
: ErrorHandler:
: If adoRS.State = adStateOpen Then adoRS.Close
: Set adoRS = Nothing
: MsgBox CStr(Err.Number) & " : " & Err.Description
: AdoGetCurrentDate = ""
:
: End Function
|