Этот код asp.net не работает - PullRequest
0 голосов
/ 28 июля 2011

Кто-нибудь знает, почему следующее не работает?

Dim strPhrase As String = "'%office%'"

objStringBuilder = New StringBuilder()

objSQLConnection = New SqlConnection(System.Configuration.ConfigurationManager.AppSettings("connString"))

objSQLCommand = New SqlCommand("select col1, col2 from table1 where phrase like @phrase", objSQLConnection)

objSQLCommand.Parameters.Add("@phrase", SqlDbType.VarChar, 255).Value = strPhrase

objSQLCommand.Connection.Open()
objSQLDataReader = objSQLCommand.ExecuteReader()

While objSQLDataReader.Read()
objStringBuilder.Append(objSQLDataReader("col1") & " - " & objSQLDataReader("col2"))
End While

objSQLDataReader.Close()
objSQLCommand.Connection.Close()

return objStringBuilder.tostring()

Если я удаляю что-либо, связанное с phrase, оно снова начинает работать, то есть:

objStringBuilder = New StringBuilder()

objSQLConnection = New SqlConnection(System.Configuration.ConfigurationManager.AppSettings("connString"))

objSQLCommand = New SqlCommand("select col1, col2 from table1", objSQLConnection)

objSQLCommand.Connection.Open()
objSQLDataReader = objSQLCommand.ExecuteReader()

While objSQLDataReader.Read()
objStringBuilder.Append(objSQLDataReader("col1") & " - " & objSQLDataReader("col2"))
End While

objSQLDataReader.Close()
objSQLCommand.Connection.Close()

return objStringBuilder.tostring()

Я получаюбез ошибок, просто возвращает пустую строку.

Ответы [ 3 ]

4 голосов
/ 28 июля 2011

Удалите '' вокруг поисковой фразы, объект команды решит все это за вас. т.е.

Dim strPhrase As String = "%office%"
1 голос
/ 20 ноября 2012

вы можете сделать это так

Dim strPhrase As String = "%office%"

и добавьте нижнюю линию в конец строки подключения

allow user variables=true;
0 голосов
/ 28 июля 2011

сделай так

Dim strPhrase As String = "%office%"
...