2010-07-15 3 views
0

특정 연결 문자열을 사용하는 데이터베이스 액세스 기능이 많습니다. 내 응용 프로그램 내에서 나는VB.NET에서 함수 호출의 결과 인 기본 인수를 사용하는 방법이 있습니까?

myList = DB_MyTable.GetTableItems() 

를 호출하고 GetTableItems()에서 나는

Dim connection As SqlConnection = MyDB.GetConnection 

그래서 연결 문자열이 코드에서 한 장소에 뭔가를 가지고 있고, 나는 그것을 얻을 수있는 메소드를 호출한다.

지금 실행중인 기능은 동일한 데이터베이스 기능을 다른 연결 문자열과 함께 사용하고 싶습니다. DB_MyTable.GetTableItems()과 같은 모든 함수는 스크립트에서 생성 되었기 때문에 쉽게 다시 작성할 수 있지만 기본 응용 프로그램 코드 내에서 사용하려는 모든 연결 문자열을 알아야하는 모든 함수 호출을 처리해야합니다.

나는이 같은 GetTableItems()에 인수를 변경 시도 : 수 있다는 희망

Public Shared Function GetTableItems(Optional ByVal useThisString as String = MyDB.GetConnection) As List(Of MyItems) 

는 기본적으로에서 이미 대부분의 코드에서 사용하고 문자열을 전달하지만, 나는있어 기본값은 상수 표현이어야한다는 오류입니다. 이것은 특정 연결 문자열을 도처에 퍼팅하는 것을 의미 할 것입니다. 나는 원하지 않습니다.

내가 수행 한 작업을 수행하는 방법이 있습니까? 아니면 연결 문자열을 필수 인수로 만들고 응용 프로그램의 모든 호출을 새 서명과 일치하도록 변경해야합니까?

언제나 감사드립니다.

답변

1

기본값을 빈 문자열로 만들 수 있습니까? 그런 다음 함수에서 useThisString 변수가 비어 있으면 default를 사용하고 그렇지 않으면 전달한 변수를 사용합니다. 조금 더 진흙 투성이지만, 간신히.

+0

나에게 그런 일이 일어났습니다! 어쩌면 처음에는 모든 전화가 그 수표를 가질 것이기 때문에 처음에는 그것을 피했다. 그것은 성능 드래그일지도 모른다. 하지만 이렇게하면 기존 코드를 개선하는 데 필요한 대부분의 작업을 줄일 수 있습니다. – John

+0

나는이 일을 끝내고 잘 작동한다. 감사! – John