Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
Dim remarks As String
Dim am_OUT As String = "11:30:01 AM"
If LblTime.Text >= am_OUT Then
remarks = "OVERTIME"
Else
remarks = "PRESENT"
End If
sql = "UPDATE attendance SET am_out=@am_out, noon_remarks=@noon_remarks " & _
"WHERE id_no= '" & Txtid.Text & "'AND date LIKE '" & LblDate.Text & "'and am_out is null"
Try
With com
.Connection = con
.CommandText = "SELECT * FROM attendance WHERE id_no LIKE '" & Txtid.Text & "' AND date LIKE '" & LblDate.Text & "'AND am_out is NOT NULL"
End With
com.Parameters.Add(New MySqlParameter("@am_out", LblTime.Text))
com.Parameters.Add(New MySqlParameter("@noon_remarks", remarks))
com.ExecuteNonQuery()
If remarks = "OVERTIME" Then
MessageBox.Show("You have little overtime")
ElseIf remarks = "PRESENT" Then
MessageBox.Show("You Log out on time")
End If
Catch ex As Exception
MsgBox(ex.Message)
End Try
End Sub
我无法更新 mysql 中的数据库表 并且mysql数据库已经有amin和am备注
最佳答案
我认为对象com
是你的MySqlCommand。如果是这种情况,则该行
.CommandText = "SELECT * FROM attendance WHERE id_no LIKE '" & Txtid.Text & "' AND date LIKE '" & LblDate.Text & "'AND am_out is NOT NULL"
是一条 SELECT 语句,执行此命令时无法更新任何内容
也就是说,我建议为查询的每个部分正确实现参数化查询,当然,使用更新记录的正确语句
sql = "UPDATE attendance SET am_out=@am_out, noon_remarks=@noon_remarks " & _
"WHERE id_no= @id AND date LIKE @dt and am_out is null"
Try
With com
.Connection = con
.CommandText = sql
.Parameters.AddWithValue("@am_out",LblTime.Text)
.Parameters.AddWithValue("@noon_remarks",remarks)
.Parameters.AddWithValue("@id",Txtid.Text )
.Parameters.AddWithValue("@dt",Convert.ToDateTime(LblDate.Text ))
End With
com.ExecuteNonQuery()
关于mysql - 如何在vb.net中更新mysql数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21469167/