我想要做我的代码如下,我不知道从哪里开始:甲骨文 - 基于RAW列删除行值
说我有一个包含Byte()
ID字段类:
Public Class Message
Public Property ID as Byte()
'...
End Class
和那些Message
被存储在数据库中,其中ID被存储为RAW列。
鉴于Messages = List(Of Message)
,我将如何去删除列表中的所有消息?
我得尽可能:
Dim sql as String = "DELETE FROM TableName WHERE IDColumn IN ("
For Each msg in Messages
sql = sql + msg.ID ' I don't think this will work
Next
sql = sql + ")"
Using oCommand As New OracleCommand(sql)
' ...
注:IDColumn实际上不是一个主键列或任何东西 - 它只是另一列(按规格,可惜)。
您的方法很好--id不需要是主键。但是,如果它们是字符串或日期,它们确实需要逗号和引号之间的逗号。 –
IDColumn不是主键并不重要,因为任何列都可以用来限制WHERE子句中的记录。只是,对于不是表的主键的列而言,这是一个奇怪的名称。 –
但我不能在Byte()和String中使用+操作符 - 所以必须有另一种方法将id放入SQL字符串中? – simonalexander2005