のようなクエリがありますSELECT ITEM FROM DETAIL WHERE TID="1"
。次のような結果が返されます
m4、c1、f2、d5、k2
DATAREADER
複数の値の結果を取得するために使用しています
そしてここにコードがあります
Dim res as string = "SELECT ITEM FROM DETAIL WHERE TID='1'"
CMD = New MySqlCommand(res, con)
result = CMD.ExecuteReader()
while result.HasRows
result.Read()
array(indeks) = result("ITEM")
end while
代わりに、結果を 1 つずつ各配列のインデックスに格納し、
配列(0)=m4
配列(1)=c1 ,.....
そのすべてを「m4」、「c1」、「f2」、「d5」、「k2」などの形式で単一の文字列変数に格納したい
形式は、上記の例のように、各結果のセパレーターとして単一引用符とコンマ (,) です (コンマは、まだ結果がある場合にのみ表示されます) 。
どうすればvb.netでそれを行うことができますか? データベースとしてmysqlを使用しています
更新されたコード
Dim cnt As String = "select count(*) from detail where kode_faktur= '" & 1 & "' "
Dim max As Int32
CMD_sup = New MySqlCommand(cnt, conn.konek)
max = Convert.ToInt32(CMD_sup.ExecuteScalar())
CMD_sup.Connection.Close()
Dim result As MySqlDataReader
Dim resultString As String
Dim isFirstResult = True
Dim arayITEM() As String
Dim res As String = "select kode_brg from detail where kode_faktur= '" & 1 & "' "
CMD = New MySqlCommand(res, conn.konek)
result = CMD.ExecuteReader()
ReDim arayITEM(max)
If result.HasRows Then
For i As Integer = 0 To max - 1
result.Read()
arayITEM(i) = result("kode_brg")
Next
End If
resultString = "'" & String.Join("','", arayITEM) & "'"
'MsgBox("HASIL : " & resultString)
ここにスクリーンショットがあります
最後の配列の要素の末尾にセパレーターは必要ありません ( ,''
)