Подтвердить что ты не робот

Разъем mysql.net не работает с проектом .net 4.0 и разъемом 6.4.3 с sprocs

Мне пришлось перестроить машину здесь и подумал, что я просто переделаю свой веб-сайт в этом процессе. Я решил пойти с mvc 3, но по-прежнему использовать mysql на задней панели.

Я по существу копировал и вставлял весь свой старый код для соединения sql, чтобы возвращать результаты из хранимой процедуры mysql, и он вообще не работает. Затем я попытался создать простую вставку sproc, и она тоже не работает. Если я использую встроенный sql на моем MySqlCommand, он отлично работает (как для выбора, так и для вставки). Я думаю, что с .net 4.0 они что-то изменили в CommandType.StoredProcedure... но я не могу сказать точно.

Когда я ставлю точку останова на мой вызов команды на фактический sproc, он ничего не показывает и не делает ничего на самом деле. Я вызвал sprocs из CLI, и они работают так, как должны. Вернувшись к тому, что я говорил, я предполагаю, что с .net 4 он больше не использует команду "Вызов". Кто-нибудь сталкивается с этой проблемой? Если да, то у вас есть решение? Есть ли в любом случае импорт dll System.Data 2.0 в проект .net 4.0, чтобы проверить, что я думаю?

вот какой код на моем уровне базы данных:

public static BuyCollectionModel GrabBuyData(GridSettings gridSettings)
        {
            int totalRows = 0;
            BuyCollectionModel buys = new BuyCollectionModel();
            using (MySqlConnection myConnection = new MySqlConnection(AppConfig.Connection))            {

                //string sql = "SELECT 100 as totalrows, c.* FROM cBuys as c";
                //MySqlCommand myCommand = new MySqlCommand(sql, myConnection);

                MySqlCommand myCommand = new MySqlCommand("usp_GetBuys", myConnection);
                myCommand.CommandType = CommandType.StoredProcedure;
                myCommand.Parameters.AddWithValue("@startrowvar", gridSettings.PageIndex);
                myCommand.Parameters.AddWithValue("@endrowvar", gridSettings.PageSize);
                myCommand.Parameters.AddWithValue("@sortcolvar", gridSettings.SortColumn);
                myCommand.Parameters.AddWithValue("@sortordervar", gridSettings.SortOrder);
                myConnection.Open();
                using (MySqlDataReader myReader = myCommand.ExecuteReader())
                {
                    while (myReader.Read())
                    {
                        buys.Add(FillBuys(myReader, out totalRows));
                    }
                }
                myConnection.Close();
            }
            buys.TotalCount = totalRows;
            return buys;
        }

как упоминалось выше, я также попытался создать простую вставку sproc, которая отлично работает с CLI, но когда я вызываю ее из кода с помощью ExecuteNonQuery(), он ничего не делает...

4b9b3361

Ответ 1

Попробуйте вернуться к более старой версии соединителя. Тот, который работает для меня, - это 6.3.4. Кроме того, убедитесь, что вы используете ту же самую версию на сервере, что и на вашей рабочей станции dev.

Ответ 2

В любом случае необходимо импортировать dll System.Data 2.0 в проект .net 4.0.

Если вы используете визуальную студию, затем щелкните Project- > Add Reference → Browse и найдите там свои DLL, которые вы хотите добавить в проект.