MySQL 연결을 사용하는 VB.Net 프로그램이 있습니다.
코드를 더 깔끔하고 재사용 할 수있게하기 위해 모든 기능을 갖춘 DBManager
클래스를 만들었습니다.
별도의 프로젝트에서이 클래스를 만들었고 가까운 미래에이 클래스에서 독립 실행 형 DLL을 얻을 계획입니다.
그래서 지금 내 주요 프로그램은 단순히 가져 오기 DBManager
DBManager
의 함수 중 하나는 MySqlCommand
유형의 인수가 필요합니다.
당연히 DBManager 위에 MySql.Data.MySqlClient
을 가져 왔습니다. 그러나 지금은 주 프로그램에서 MySqlCommand
유형 (또는 그보다 더 나은 클래스)에 액세스 할 수 없습니다.
가 MySqlCommand
을 얻을 수있는 청소기 방법이 있나요 ....
가능한 해결 방법은 내 메인 프로그램에 MySql.Data.MySqlClient
을 가져 오는 것입니다,하지만 난 그냥 인수로 MySqlCommand
을 사용하는 전체 MySQL의 네임 스페이스를 가져 오기 때문에 그 깨끗한 해결책이 아니라 생각 클래스밖으로 가져 오지 않고 MySql.Data.MySqlClient
주 프로그램에서?Access 클래스 '가져온 클래스
0
A
답변
0
좋아, 나는 jmcilhinney의 제안에 기반한 해결책을 발견했다.
매개 변수를 삽입하는 데 필요한 add 메서드를 지원하는 두 개의 공용 변수 Public CommandText As String
및 Public Parameters As SortedList(Of String, String)
을 사용하여 클래스 DBSqlCommand
을 만들었습니다.
다음 메소드의 인수 유형을 DBSqlCommand
으로 변경했습니다.
이제 내 메서드를 호출하면 내부적으로 MySqlCommand를 처리하고 목록을 명령 매개 변수로 변환합니다.
관련 문제
- 1. Access 데이터는 템플릿 클래스
- 2. 이클립스에서 가져온 클래스를 추출 클래스
- 3. typescript 가져온 클래스가있는 클래스 확장
- 4. 가져온 SWC 요소의 클래스 만들기
- 5. 가져온 라이브러리에 서브 클래스 전달하기
- 6. Java Access 기본 클래스 변수
- 7. - 타사 라이브러리에서 가져온 클래스 및 파생 클래스 (또는 이와 유사한)
- 8. 데이터베이스에서 가져온 다른 클래스 속성에 따라 클래스 속성에 데이터 제공
- 9. 빌드 경로에 종속성이없는 클래스 (가져온 클래스)를 컴파일하십시오.
- 10. 기본 클래스 헤더 만 포함 된 경우 Access Derived 클래스
- 11. 가져온 파일에서 모든 코드를 실행하지 않고 Python 클래스 정의에서 가져온 클래스 메서드를 사용할 수 있습니까?
- 12. 이 dll을 가져온 클래스 외부에서 가져온 dll 내의 메서드 호출
- 13. 가져온 OWL 온톨로지에서 슈퍼 클래스 얻기
- 14. Haskell : 클래스 Eq에서 가져온 두 표현식 일치
- 15. THREE.js 가져온 메쉬가있는 사용자 정의 객체 클래스
- 16. 파이썬에서 가져온 클래스 내에서 스레드를 실행합니다.
- 17. 가져온 scss 클래스 이름이 해시로 변환되었습니다.
- 18. 클래스 확장 GCanvas는 java.awt.event의를 가져온 후 addComponentListener
- 19. 클래스 요소를 배열로 가져온 다음 합계를 사용하십시오.
- 20. 가져온 항목 : file_name 또는 Python의 클래스?
- 21. 가져온 모듈 내에서 외부 클래스 메서드 사용
- 22. android에서 가져온 패키지의 클래스 사용 방법
- 23. typed-Dataset VS Own access 데이터베이스 클래스
- 24. Jython : Access singleton Java 클래스 (정적)
- 25. isJavaType (클래스 클래스) 또는 isUserType (클래스 클래스)?
- 26. 클래스 A와 클래스 1의 차이점
- 27. 클래스 B의 클래스 A의 변수와 클래스 A의 클래스 B의 포인터는?
- 28. 내가 클래스 클래스 B와 클래스 C를 가지고 클래스
- 29. 클래스 다이어그램의 클래스 B에있는 클래스 A의 객체
- 30. 코코아, 클래스 클래스 메서드를 호출 저장할 클래스
해결 방법은 아닙니다. 필요한 솔루션입니다. 해당 메소드가 해당 유형의 매개 변수를 필요로하면 응용 프로그램은 해당 유형이 존재한다는 것을 알아야하며이를 수행 할 수있는 유일한 방법은 해당 유형이 선언 된 라이브러리를 참조하는 것입니다. 그 주위에 방법이 없습니다. 'MySqlCommand'를 기대하는 대신, SQL 코드를 포함하는'String'과 매개 변수 값의'Dictionary'를 기대하고 그 내부적으로 명령 객체를 생성하기 위해 그 메소드를 작성 하시겠습니까? 소비 애플 리케이션이'MySqlClient'에 대해 알 필요가 없다면 그 네임 스페이스의 어떤 타입도 노출시키지 마십시오. – jmcilhinney
안녕하세요, 당신은 jmcilhinney를 Thaks, AddWithValue 메서드를 사용하려면 MySqlCommand 형식을 사용했습니다. MySqlCommand가 MySqlCommand 대신에이 사용자 정의 클래스를 사용하기 위해 수행하는 작업을 정확히 복사하는 클래스를 작성할 수 있는지 궁금합니다. 그렇지 않으면 문자열을 사용하려고 시도합니다. –
메소드 내에서'AddWithValue'를 사용하십시오. – jmcilhinney