none
MySqlDataReader как передать список значений через параметр RRS feed

  • Вопрос

  • Доброго дня, подскажите, пожалуйста, возможно ли через параметр передать список значений, в данном случае берется только первое значение, т.е. "1", а нужно "1,2,3,4,5,6". Заранее благодарю.

    Dim strConnect As String
            strConnect = System.Web.Configuration.WebConfigurationManager.ConnectionStrings("ConnectionString2").ConnectionString.ToString
            Dim conn As New MySqlConnection(strConnect)
            Dim cmd As New MySqlCommand
            Dim reader As MySqlDataReader
            Dim mySQL As String
            Dim NPage As String = "1,2,3,4,5,6"
            conn.Open()
            cmd.Connection = conn
            mySQL = "SELECT NPage FROM pickeyparts WHERE NPage IN(@NPage)"
            cmd.CommandText = mySQL
            cmd.Parameters.AddWithValue("NPage", NPage)
            reader = cmd.ExecuteReader()
            While reader.Read()
                str = str & " " & reader.Item(0)
            End While
            reader.Close()
            conn.Close()

    • Изменено YatajgaModerator 17 августа 2013 г. 10:42 Правка кода
    • Перемещено YatajgaModerator 17 августа 2013 г. 10:42
    17 августа 2013 г. 8:48

Ответы

Все ответы

  • Посмотрите решение предложенное тут. Т.е. для каждого значения динамически создаётся один параметр.

    Сделаем содержимое сообщества лучше, вместе!

    17 августа 2013 г. 10:41
    Модератор
  • Спасибо большое, теперь понятно с параметрами. Единственный вопрос решение такого типа, без параметров плохо с точки зрения безопасности или по другим причинам?

            Dim NPage As String = "1,2,3,4,5,6"
            conn.Open()
            cmd.Connection = conn
            mySQL = "SELECT NPage FROM pickeyparts WHERE NPage IN(" & NPage & ")"

    17 августа 2013 г. 15:36
  • В первую очередь безопасность и ошибки. Других проблем нет.

    Сделаем содержимое сообщества лучше, вместе!

    17 августа 2013 г. 16:06
    Модератор