我想删除与正在解析的数组的任何byte[]匹配的内容:
byte[][] data我知道如何处理一个简单的byte[],这是一个与byte[]数组不同的故事。
byte[],而不是byte[][])代码:
public static void MyFunction(Transaction aTran, long Id, byte[][] data)
{
string cmdText = ExtendedSQL.SQLQuery;
using (SqlCommand cmd = new SqlCommand(cmdText))
{
cmd.Parameters.Add("@data", SqlDbType.VarBinary, data.Length).Value = data
cmd.Parameters.AddWithValue("@id", Id);
cmd.CommandType = CommandType.Text;
cmd.ExecuteNonQuery();
}
}发布于 2015-08-12 09:43:20
您可以将byte[][]作为SqlDbType.VarBinary存储在数据库中,但似乎只存储byte[]。
您希望删除与多个byte[]匹配的db中的所有数据。
由于它是以二进制形式存储的,您可能需要在data[][]上循环执行多个查询。
public static void MyHigherLevelFunction(Transaction aTran, long Id, byte[][] data)
{
foreach(byte[] oneData in data)
{
MyFunction(aTran, Id, oneData);
}
}
public static void MyFunction(Transaction aTran, long Id, byte[] data)
{
string cmdText = ExtendedSQL.SQLQuery;
using (SqlCommand cmd = new SqlCommand(cmdText))
{
cmd.Parameters.Add("@data", SqlDbType.VarBinary, data.Length).Value = data
cmd.Parameters.AddWithValue("@id", Id);
cmd.CommandType = CommandType.Text;
cmd.ExecuteNonQuery();
}
}而SQL的外观如下:
....
WHERE d = @data
....https://stackoverflow.com/questions/31961028
复制相似问题