2011-04-11 4 views
0

저는 초보자 VB 프로그래머이며이 솔루션은 사소한 것이라고 확신합니다. 그러나 위의 오류가 나타납니다. SQL Server에 저장 프로 시저 중 하나의 결과를 표시하려고 할 때 어떤 매개 변수도 필요하지 않습니다. 이 문제를 어떻게 해결할 수 있습니까?vb 오류 : 'String'유형의 값을 'System.Data.SqlClient.SqlCommand'로 변환 할 수 없습니다.

내 코드 발췌 : 나는 서버 탐색기에서 VS 2008이 SP를 볼 수 있습니다

Public Shared Function GetDevSQLServerStoredProcedure(ByVal SQL As String) 
    Dim DBConn As SQLConnection 
    Dim DBCommand As SQLDataAdapter 
    Dim DSPageData As New System.Data.DataSet 
    DBConn = New SQLConnection(ConfigurationSettings.AppSettings("AMDMetricsDevConnectionString")) 
    DBCommand = New SQLDataAdapter(SQL) 'This is the line it errors on' 
    DBCommand.Fill(DSPageData, "Exceptions") 
    Return DSPageData 
End Function 

: GetDevSQLServerStoredProcedure이 같은 다른 파일에 정의되어

Dim SQLCmd as SQLCommand = new SQLCommand() 
SQLCmd.CommandText = "Exec AllTableCount" 
SQLCmd.CommandType = CommandType.StoredProcedure 
SQLCmd.Connection = GlobalFunctions.GlobalF.GetDevSQLServerStoredProcedure(SQLCmd.CommandType)    
SQLCmd.ExecuteNonQuery() 
MsgBox(SQLCmd.ExecuteNonQuery) 

. 그래서 문제는 데이터 어댑터를 SP에 연결하는 방법을 모른다는 것입니다. 그냥 문자열 쿼리.

+1

StoredProcedure가'AllTableCount'이라면 SqlCommand의 CommandText를''AllTableCount ''로 설정해야합니다. –

+0

고마워,하지만 지금은 같은 줄에 오류가 발생했습니다 : BC30311 : 'String'유형의 값을 'System.Data.SqlClient.SqlCommand'로 변환 할 수 없습니다. – salvationishere

답변

1

명령 텍스트는 Tim이 언급 한 저장 프로 시저의 이름이어야합니다.

이제 문제는 CommandType을 문자열 대신 GetDevSQLServerStoredProcedure 메서드에 전달한다는 것입니다.

+0

고맙지 만 지금은이 새로운 기능이 있습니다. 네임 스페이스에 추가 했더라도 네임 스페이스의 일부가 아닙니다. 네임 스페이스에 헤더 파일이 있습니까? 이 네임 스페이스에 대한 정의가 들어있는이 솔루션에서 다른 파일을 찾을 수 없습니다. (나는 해결책을 수색했다). – salvationishere

관련 문제