【发布时间】:2017-10-05 19:44:47
【问题描述】:
有一个BINARY 类型的MySQL 查询参数。 MySQL 中的二进制值可以表示为x'1f7a8e'。但是,当将MySqlDbType.Binary 类型的参数添加到MySqlCommand 时,会使用表示为_binary '1f7a8e' 的值形成查询,这会导致查询找不到该行。您可以在下面看到如何使用 MySQL API 的代码示例。
var baz = "1f7a8e";
var cmd = new MySqlCommand("SELECT foo FROM bar WHERE baz=@baz");
cmd.Parameters.Add("@baz", MySqlDbType.Binary).Value = baz;
// Execute query and read result
使用二进制值作为参数的正确方法是什么?
【问题讨论】:
-
你试过
Stream还是byte[]? -
这似乎是一个奇怪的设计和/或场景。如果您只是按照here 将字符串转换为字节,它是否不起作用?