我已经制作了一个简单的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版。我发现的另一个看似可行的解决方案是
但无济于事。而且,似乎
非常感谢任何和所有帮助,因为我已经结束了。谢谢
答案 0 :(得分:2)
我认为正是这条线造成了问题..
InsertCommand="INSERT INTO categories (overName, categoryID) VALUES (?, ?)"
它应该是......
InsertCommand="INSERT INTO categories (overName, categoryID) VALUES (?overName, ?categoryID)"
我相信你需要那里列出的字段。我在几个月内没有使用过MySQL,但这就是我用它来做的事情,这就是我在SQL中的做法。
希望这会有所帮助。