Delphi2005를 사용하여 자체 예제로 dbwebfiltersample을 디버깅 할 때 다음과 같은 문제가 발생했습니다. BdpDataAdapter1의 활성 속성이 true로 설정되면 다음 오류가 컴파일 및 작동이 완료되면 발생합니다.
오류
"/dbwebfiltersample"응용 프로그램의 서버 오류.
--------------------------------------------------------- ---------------------------------
연결이 실패하지 못했습니다
설명 : 현재 웹 요청을 실행하는 동안 처리되지 않은 예외가 발생했습니다. 오류 및 코드의 오류가 발생한 위치에 대한 자세한 내용은 스택 추적 정보를 확인하십시오.
예외 세부 사항 : borland.data.common.bdpexception : 연결 불가능한 데이터베이스 소스 오류 : 라인 288 :
self.dbwebdatasource1.errordlgforecolor : = system.drawing.color.black;
(system.componentmodel.isupportinitialize (self.bdpdataadapter1)). Endinit; Line 291 :
(System.componentModel.isupportinitialize (self.employees)). Endinit; Line 292 :
(System.componentModel.isupportinitialize (self.datatable1)). Endinit;
소스 파일 : g :/program 파일/borland/bds/3.0/demos/delphi.net/dbweb/webfilter/webform1.pas 라인 : 290 스택 추적 : [bdpexception : [bdpexception :
Connection Open이 실패했습니다.
borland.data.provider.bdpdataadapter.endinit () webform1.twebform1.initializecomponent ()의 g :/program
파일/borland/bds/3.0/demos/delphi.net/dbweb/webfilter/webform1.pas : 290 webform1.twebform1.oninit (eventargs e) in
G :/Program Files/Borland/Bds/3.0/Demos/delphi.net/dbweb/webfilter/webform1.pas : 344
System.Web.ui.control.initreCursive (Control NamingContainer) System.web.ui.page.processRequestMain ()
--------------------------------------------------------- ---------------------------------
버전 정보 : Microsoft .NET 프레임 워크 버전 : 1.1.4322.573;
속성이 False로 설정되면 다음 오류가 발생합니다.
"/dbwebfiltersample"응용 프로그램의 서버 오류.
--------------------------------------------------------- ---------------------------------
입력 문자열이 잘못되었습니다.
설명 : 현재 웹 요청을 실행하는 동안 처리되지 않은 예외가 발생했습니다. 오류 및 코드의 오류가 발생한 위치에 대한 자세한 내용은 스택 추적 정보를 확인하십시오.
예외 세부 사항 : System.FormateXception : 입력 문자열이 잘못 형식화되었습니다. 소스 오류 : 라인 325 : 다른 줄 326 : ScurrentFilter : =
변환 (o);
convert.toint16 (listbox2.selectedValue); 줄 329 : if startCustid <endCustId는 다음과 같습니다
소스 파일 : g :/program 파일/borland/bds/3.0/demos/delphi.net/dbweb/webfilter/webform1.pas 라인 : 327 스택 추적 : [formatexception : [formatexception :
입력 문자열이 잘못되었습니다. ] system.number.parseint32 (문자열 S, Numberstyles 스타일, Numberformatinfo 정보) +0
System.int16.parse (문자열 S, Numberstyles 스타일, iformatprovider 제공자) +37 System.Convert.Toint16 (문자열 값) +19
g :/program의 webform1.twebform1.page_load (객체 발신자, Eventargs e)
Files/Borland/Bds/3.0/Demos/Delphi.net/dbweb/webfilter/webform1.pas : 327 System.web.ui.control.onload (Eventargs e)
System.Web.ui.control.loadRecursive () System.Web.ui.page.processRequestMain ()
--------------------------------------------------------- ---------------------------------
버전 정보 : Microsoft .net 프레임 워크 버전 : 1.1.4322.573;
테스트 초점은 Delphi2005를 사용하여 웹 쿼리를 구현하는 것이기 때문에 위의 사소한 오류를 약간 수정했으며 컴파일 및 작업에는 오류가 없었지만 데이터는 표시되지 않았습니다. 데이터를 표시하기 위해 저자
WebForm1 디자인 양식에 버튼을 추가하고 버튼 이벤트에 다음 코드를 추가하십시오.
BDPDATAADAPTER1.ACTIVE가 아닌 경우
thebdpdataadapter1.active : = true;
컴파일 및 실행 시이 버튼을 클릭하면 다음 오류가 발생합니다.
"/dbwebfiltersample"응용 프로그램의 서버 오류.
--------------------------------------------------------- ---------------------------------
연결이 실패하지 못했습니다
설명 : 현재 웹 요청을 실행하는 동안 처리되지 않은 예외가 발생했습니다. 오류 및 코드의 오류가 발생한 위치에 대한 자세한 내용은 스택 추적 정보를 확인하십시오.
예외 세부 사항 :
Borland.data.common.bdpexception : 연결 불가능한 데이터베이스 소스 오류 : 줄 301 :
BDPDATAADAPTER1.ACTIVE가 아닌 경우 라인 303 :
bdpdataadapter1.active : = true; // 줄 304 가이 문장에서 발생했습니다.
끝;
소스 파일 : g :/program
Files/Borland/Bds/3.0/Demos/Delphi.net/dbweb/webfilter/webform1.pas 라인 : 303
스택 추적 : [bdpexception : 연결 열기가 실패했습니다.
불가능한 데이터베이스] borland.data.provider.bdpdataadapter.e () borland.data.provider.bdpdataadapter.set_active (boolean value)
webform1.twebform1.button1_click (객체 발신자, eventargs e)에서 g :/program
Files/Borland/Bds/3.0/Demos/Delphi.net/dbweb/webfilter/webform1.pas : 303 System.web.ui.webControls.button.onclick (Eventargs e)
System.Web.ui.webControls.button.system.web.ui.ipostbackeventhandler.raisepostbackevent (String Eventargument)
System.web.ui.page.raisepostbackevent (ipostbackeventhandler sourcecontrol, 문자열 eventargument)
System.Web.ui.Page.RaisepostBackevent (NameValueCollection PostData)
System.Web.ui.page.processRequestMain ()
--------------------------------------------------------- ---------------------------------
버전 정보 : Microsoft .net 프레임 워크 버전 : 1.1.4322.573;
도움말 파일을주의 깊게 확인하십시오. 데이터베이스 연결에 문제가 있어야하지만 데이터는 설계 상태에서 테스트됩니다.
라이브러리 연결에 문제가 없으므로 버튼 이벤트를 데이터베이스 연결에 추가, 컴파일 및 실행, 클릭 및 실패가 남아 있습니다. 도움말 파일을주의 깊게 확인하면 다음 내용이 포함되어 있습니다.
연결을 설정합니다
1. Borland Data Provider : Connections 편집기에서 연결 목록에서 해당 항목을 선택하십시오.
2. 연결 설정에서 데이터베이스 경로를 입력하십시오.
참고 : 로컬 디스크의 데이터베이스를 참조하는 경우 경로를 전제하십시오.
LocalHost :. 예를 들어 인터베이스를 사용하는 경우 인터베이스 데이터베이스의 경로를 입력합니다.
LocalHost : c :/program files/borland/interbase/examples/database/employee.gdb
(또는 시스템의 실제 경로가 무엇이든)).
3. 필요에 따라 데이터베이스의 사용자 이름 및 비밀번호 필드를 완료하십시오.
4. 연결을 확인하려면 테스트를 클릭하십시오.
연결 상태를 확인하는 대화 상자가 나타납니다.
5. Borland Data Provider : Connections 편집기 대화 상자로 돌아가려면 확인을 클릭하십시오.
6. 확인 확인을 클릭하여 데이터 어댑터 구성 대화 상자로 돌아갑니다.
명령 탭에서 테이블 및 열 영역은 연결의 정보로 업데이트됩니다.
따라서 bdpConnection1의 ConnectionString 속성을 데이터베이스 = localhost : g :/program으로 설정하십시오
Files/Borland/Interbase/examples/Database/Employee.gdb; 어셈블리 = borland.data.interbase, version = 2.0.0.0, culture = neutral, public
keytoken = 91d62ebb5b0d1b1b; vendorclient = gds32.dll; provider = interbase; username = sysdba; password = masterkey
bdpdataadapter1의 활성 속성을 true로 설정하십시오
추가 된 버튼과 코드를 제거하고 컴파일하고 다시 실행하면 모든 것이 정상입니다.