2017-09-15 4 views
-1

SQL 매개 변수가있는 쿼리가 있습니다. 내 매개 변수는 데이터베이스의 내 테이블이어야하며 지금 어떻게 실현할 수 있습니까?vb.net에서 sql 매개 변수와 같은 sql 테이블 사용

그래서 그것을했다 :

myCommand = myConnection.CreateCommand() 
myCommand.CommandType = CommandType.Text 
myCommand.CommandText = 
"SELECT Id, Bez, Param5, Info from Table" & "@idFixed" 
myCommand.Parameters.Add("@idFixed", SqlDbType.VarChar).Value = strIdFixed 

strIdFixed (전송 매개 변수) 뭔가 ID 여야합니다, 내가 이름을 가진 많은 테이블 Table01,Table02,Table333 ....

+0

일반적으로 준비된 명령문에서 매개 변수로 테이블 이름을 지정할 수 없습니다.이 옵션을 허용하면 보안 위험이 높아지고 명령문의 요점을 무시할 수 있기 때문입니다. 특정 테이블을 안전한 방법으로 쿼리해야하는 경우 해당 테이블에 대한 준비된 문을 작성하십시오. –

+0

@TimBiegeleisen 어떻게해야합니까? –

답변

0

을 가지고 있기 때문에 나는 그것이

Dim tableName As String = "Test" + strIdFixed.ToString.Trim 
Dim builder = New SqlCommandBuilder() 
Dim escapedTableName As String = builder.QuoteIdentifier(tableName) 

myCommand = myConnection.CreateCommand() 
myCommand.CommandType = CommandType.Text 
myCommand.CommandText = 
"SELECT Id, Bez, Param5, Info from " + escapedTableName 

감사합니다. https://stackoverflow.com/a/17948039/6787667