我想要做我的代碼如下,我不知道從哪裏開始:甲骨文 - 基於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