Мне пришлось перестроить машину здесь и подумал, что я просто переделаю свой веб-сайт в этом процессе. Я решил пойти с 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(), он ничего не делает...