Параметр '?' должен быть определен

Я сделал простое приложение ASP.NET для управления базой данных MySQL. Я использую Visual Studio 2013 и их автоматически сгенерированные элементы, такие как DetailsView, GridView и т. Д. Приложение прекрасно работает локально (включая запросы к серверу MySQL, на котором размещен мой сайт), но когда я пробую приложение в своем веб-отеле, я получаю Ошибка:

Параметр '?' должен быть определен

Я связывался со службой поддержки, которая утверждает, что это не проблема с сервером, а скорее проблема сценария (несмотря на то, что я говорю, что она отлично работает локально).

Пример из моего SqlDataSource на странице.aspx выглядит следующим образом:

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

но безрезультатно. Кроме того, кажется

Любая помощь очень ценится, потому что я в конце остроумия. Спасибо

1 ответ

Решение

Я думаю, что эта линия вызывает проблемы..

InsertCommand="INSERT INTO categories (overName, categoryID) VALUES (?, ?)"

Это должно быть что-то вроде..

InsertCommand="INSERT INTO categories (overName, categoryID) VALUES (?overName, ?categoryID)"

Я считаю, что вам нужны поля, перечисленные там. Я не использовал MySQL в течение нескольких месяцев, но именно так я это делаю тогда, и именно так я делаю это в SQL.

Надеюсь это поможет.

Другие вопросы по тегам