私はDatagridview
を使用しており、セル値を取得しています。私がする必要があるのは、DatagridView
のセルの中にpieces
という文字列の値がある場合、私はそれを 'None'という名前で変更します。私はすでにcase
クエリを使用しています、そして、私はこれが私の問題を解決する正解ではないと思います。みんな助けてくれますか? これは私のコードですが、私はすでに何をしていますか。MySqlクエリ内でvb.net条件を追加するには
For k As Integer = 0 To dtgOrder.RowCount - 1
objconn.Open()
cmbQuery = "SELECT product_quantity.Quantity As 'quant_test' from product_quantity
INNER join product_table on product_quantity.Product_ID = product_table.Product_ID
where product_size.Size_Name
= '" & If dtgOrder.Rows(k).Cells(3).Value = "pieces" Then
dtgOrder.Rows(k).Cells(3).Value = "None"
End If & "'"
objcmd = New MySqlCommand(cmbQuery, objconn)
objdr = objcmd.ExecuteReader
While objdr.Read
quantitytesting = objdr.GetInt32("quant_test")
End While
objconn.Close()
Next
そして、これは、MySQLを使用してCase
にすでに私のクエリであると私はまた私の上記のクエリですでにそれを適用します。
SELECT product_quantity.Quantity As 'quant_test' from product_quantity
INNER join product_table on product_quantity.Product_ID = product_table.Product_ID
where product_size.Size_Name
= (Case when '"& dtgOrder.Rows(k).Cells(3).Value = "pieces" &"' Then 'None' Else '"& dtgOrder.Rows(k).Cells(3).Value &"')"
SQL Serverでは、VBからの値を渡して、SQLのコードを次のように記述します。 'WHERE product_size.Size_Name = coalesce(nullif(@ Cell3Value、' pieces ')' None ') ' MySqlには 'NULLIF()'関数があります。 ... ...うーん、すばらしいGoogle検索ではそうだと言います。 –