我有DataBound
DGV
它有Columns
ID(not pk)
,Name
和Status
。我有2个按钮Add
和Post
。添加Data
添加到DGV
和DataBase(MySql)
,但在Status
中,它会添加"No"
。我想要做的是例如我Rows
中有3 DGV
并突出显示那些3并点击Post
,Status
中的值将更改为{{1} }}。这是我到目前为止所做的,但是我遇到了"Yes"
的语法问题。 此代码现在可以使用
UPDATE QUERY
非常感谢任何帮助或提示。拜托,谢谢
答案 0 :(得分:2)
试试这个,
Dim _ID As New List(Of String)
Dim _Name As New List(Of String)
For Each _x As DataGridViewRow In TestingDataGridView.SelectedRows
_ID.Add(_x.Cells("TransactionID").Value.ToString())
_Name.Add("'" & _x.Cells("Name").Value.ToString() & "'")
Next
Dim inClause As String = String.Join(",", _ID.ToArray())
Dim inClause1 As String = String.Join(",", _Name.ToArray())
Dim _sqlUpdate As String = String.Format("UPDATE testing SET Posted = @Posted WHERE TransactionID IN ({0}) AND Name IN ({1})", inClause, inClause1)
Using _conn As New MySqlConnection("Server = localhost; Username= root; Password =; Database = test")
Using _comm As New MySqlCommand()
With _comm
.CommandText = _sqlUpdate
.Connection = _conn
End With
Try
_conn.Open()
_comm.ExecuteNonQuery()
Catch ex As MySqlException
MsgBox(ex.Message.ToString())
End Try
End Using
End Using
答案 1 :(得分:0)
我相信你可以简单地使用这个
For Each Row As DataGridViewRow In TestingDataGridView.SelectedRows
.CommandText = "UPDATE testing SET Posted = @iChange WHERE ID = " & Row.Cells(0) & ", Name = " & Row.Cells(1)
.CommandType = CommandType.Text
.Parameters.AddWithValue("@iChange", "Yes")
End For
希望这会有所帮助:)