0

ループを避けるために、ケース条件といくつかの追加条件を使用して 1 つのクエリを作成しようとしています。問題がどこにあるかを確認します。

ここにコード:

Using MysqlConn As New MySqlConnection(connString)
        Using MyCommand As New MySqlCommand()
            With MyCommand
                .Connection = MysqlConn
                .CommandText = "update beardata.results set team = case rownumber" & _
                                             "when 1 then @par1" & _
                                             "when 2 then @par1" & _
                                             "when 3 then @par1" & _
                                             "when 4 then @par1" & _
                                             "when 5 then @par1" & _
                                             "end" & _
                                             "where bnumber = @bnum and hraciden = @pd and league = @lm and rownumber in (1,2,3,4,5)"
                .CommandType = CommandType.Text
                .Parameters.AddWithValue("@par1", Team1Box.SelectedItem.ToString)
                .Parameters.AddWithValue("@bnum", currentButton.Tag)
                .Parameters.AddWithValue("@pd", Convert.ToInt16(playDayBox.SelectedItem))
                .Parameters.AddWithValue("@lm", LeagueBox.SelectedItem.ToString)
            End With
            Try
                MysqlConn.Open()
                MyCommand.ExecuteNonQuery()
                MysqlConn.Close()
            Catch ex As MySqlException
                MessageBox.Show(ex.Message)
            Finally
                MysqlConn.Dispose()
            End Try
        End Using
    End Using

コマンドテキストについて正しい方向を教えてもらえますか? または、これに対する別の解決策を提案しますか? 前もって感謝します!

4

1 に答える 1

0

CommandTextそのコードが実行された後、その内容を実際に見ましたか? 私は賭けません。なぜそれを最初にしなかったのですか?その SQL を構築するコードではなく、実行している SQL を見てください。それはあなたが思っているものではありません。XML リテラルを使用してその SQL コードを作成することをお勧めします。

于 2014-07-29T23:26:17.717 に答える