【发布时间】:2014-12-24 09:41:34
【问题描述】:
我需要在 MySqlCommand 中声明一个局部变量,但该变量一直被解释为参数,因此抛出异常,说明该参数未初始化。我正在尝试做类似的事情:
comm.CommandText="declare @mid int; etc.....";
@mid 是一个局部变量,而不是一个参数,但微软的某个人认为使用 @ 来为参数添加前缀是个好主意。
【问题讨论】:
-
您可以将该代码转换为存储过程(这似乎很合理,因为您需要局部变量),然后通过您的命令调用该过程。
-
我想知道为什么我没有想到。谢谢!
-
注意,这不是微软的错,而是你用来连接 MySQL 的任何库的作者,你应该向他们报告。
-
MySQL 中带有
@前缀的变量称为“用户定义”变量。它们是无类型的,不能被声明,所以你在这里的使用无论如何都是无效的。