mysql - 必须定义参数 '?'

标签 mysql asp.net mysql-connector connector-net

我制作了一个简单的 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 版。我发现的另一个看似可行的解决方案是

http://blog.tjitjing.com/index.php/2009/05/mysqldatamysqlclientmysqlexception-parameter-id-must-be-defined.html

但无济于事。还有,好像是

非常感谢任何帮助,因为我无能为力。谢谢

最佳答案

我认为是这一行导致了问题..

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/

相关文章:

MySQL - 如何按值分组并显示在同一行的不同列中

c# - 代码访问安全策略问题 - 将第三方 dll 部署到 bin

asp.net - 为什么我不能在 ASP.net MVC 中使用服务器控件?

mysql - 将 Spark 和 Mysql 与 mysql-connector-java 结合使用

mysql - 使用非 SQLAlchemy 创建的表的外键创建模型

php - 从 MySQL 查询构建多维 PHP 数组

php - 如何找出 View 中特定字段的总和 Codeigniter

php - Magento 和 Amazon RDS - 超时

mysql - 如何在我的 sql 中应用多个或嵌套游标并将数据存储在临时表中?

mysql - 在客户端测试服务器故障转移时如何正确使用loadBalanceBlacklistTimeout