0
誰でも私のクエリを修正するのを助けることができます。 syscode
が存在しないが、更新しようとするとsysdesc
がsyscode
に存在するため、データを更新したい。更新がvb.netに存在しない場合
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
私は私がsysdesc
を更新することができ、同時にsyscode
の重複を避けたいです。 質問を修正したり、何をすべきかを教えてください。
なぜ「sysdesc」の更新が 'syscode'の存在によって影響を受けるのですか? –
'sysdesc'を更新すると' rowsAffected'は 'NOT EXIST'関数 –
のため0を返すので、' syscode'がデータベースに存在していても 'sysdesc'を更新しますか? –