Kann jemand mir helfen, meine Abfrage zu beheben. Ich möchte meine Daten aktualisieren, wenn die syscode
nicht existiert, aber wenn ich versuche, sysdesc
zu aktualisieren fehlgeschlagen, weil die syscode
bereits vorhanden sind.Update, wenn nicht in vb.net existiert
Dim query As String
Dim rowsAffected As Integer
query = "UPDATE tbl_sysname SET syscode = @code, sysdesc = @desc " & _
"WHERE id = @id AND NOT EXISTS (SELECT syscode FROM tbl_sysname WHERE " & _
"syscode = @code) "
cmd = New SqlCommand(query, cn)
cmd.Parameters.Add("@code", SqlDbType.VarChar).Value = txtCode.Text
cmd.Parameters.Add("@desc", SqlDbType.VarChar).Value = txtDesc.Text
cmd.Parameters.Add("@id", SqlDbType.VarChar).Value = lblId.Text
rowsAffected = cmd.ExecuteNonQuery
'MsgBox(rowsAffected)
If rowsAffected >= 1 Then
'reader = cmd.ExecuteReader
MsgBox("Update Successfully")
LVSysName.Items.Clear()
'reader.Close()
GetLvData() 'This will display the data of LvSysName
Else
MsgBox("Failed to Update")
End If
Ich mag die Vervielfältigung von syscode
zur gleichen Zeit vermeiden i sysdesc
aktualisieren kann. Helfen Sie mir, meine Frage zu beheben, oder geben Sie mir einen Vorschlag, was ich tun sollte
Warum wird ein Update von 'sysdesc' durch die Existenz von' syscode' beeinflusst? –
Wenn ich die 'sysdesc 'aktualisiere, gibt' rowsAffected' 0 wegen der' NOT EXIST 'Funktion zurück –
ok, also soll' sysdesc 'aktualisiert werden, obwohl der' syscode 'in der Datenbank existiert? –