我制作了一个简单的 ASP.NET 应用程序来管理 MySQL 数据库。我一直在使用 Visual Studio 2013 及其自动生成的元素,例如 DetailsView、GridView 等。该应用程序在本地运行良好(包括对托管我网站的 MySQL 服务器的查询),但是当我在我的网络酒店上尝试该应用程序时,我得到错误:
参数'?'必须定义
我一直在联系客户支持,他们声称这不是服务器问题而是脚本问题(尽管我说它在本地运行良好)。
我在 .aspx 页面中的 SqlDataSource 的示例如下所示:
InsertCommand="INSERT INTO categories (overName, categoryID) VALUES (?, ?)"
<InsertParameters>
<asp:Parameter Name="overName" Type="String" />
<asp:Parameter Name="categoryID" Type="Int32" />
</InsertParameters>
根据 MySQL 自己的错误站点,这是早期版本的 MySQL 连接器中的一个问题:
http://bugs.mysql.com/bug.php?id=66060
但是我们使用的是 6.8.3 版。我发现的另一个看似可行的解决方案是
但无济于事。还有,好像是
非常感谢任何帮助,因为我无能为力。谢谢
最佳答案
我认为是这一行导致了问题..
InsertCommand="INSERT INTO categories (overName, categoryID) VALUES (?, ?)"
应该是这样的..
InsertCommand="INSERT INTO categories (overName, categoryID) VALUES (?overName, ?categoryID)"
我相信您需要其中列出的字段。我已经有几个月没有使用 MySQL 了,但那时我就是这样做的,这就是我在 SQL 中的做法。
希望这对您有所帮助。
关于mysql - 必须定义参数 '?',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22308634/