Я пытаюсь сохранить изменения моего набора данных в базе данных через UpdateCommand.Как сохранить значение набора данных в базе данных
Я использую этот код:
SqlConnection con = new SqlConnection();
constr = ConfigurationSettings.AppSettings["ConnectionString"].ToString();
con.ConnectionString = constr;
SqlCommand UpdateCommand = con.CreateCommand();
// SqlCommand locationstock = con.CreateCommand();
SqlCommand UpdateLocationStock = con.CreateCommand();
UpdateCommand.CommandText = "update tblCurrentGameData set [email protected],[email protected],[email protected], [email protected],[email protected],[email protected],[email protected],[email protected],[email protected] where [email protected] and [email protected] and [email protected]";
////UpdateCommand.CommandText = "update tblCurrentGameData set [email protected],[email protected],[email protected], [email protected],[email protected],[email protected],[email protected],[email protected],[email protected] where [email protected]";
UpdateCommand.Parameters.Add("@sales", SqlDbType.Decimal, 18, "sales");
UpdateCommand.Parameters.Add("@gameStatus", SqlDbType.Bit, 1, "GameStatus");
UpdateCommand.Parameters.Add("@qoh", SqlDbType.Decimal, 18, "QOH");
UpdateCommand.Parameters.Add("@sr", SqlDbType.Decimal, 18, "SalesRatio");
UpdateCommand.Parameters.Add("@psr", SqlDbType.Decimal, 18, "PeriodSalesRatio");
UpdateCommand.Parameters.Add("@avgajdr", SqlDbType.Decimal, 18, "AvgAdjustmentRatio");
UpdateCommand.Parameters.Add("@newQty", SqlDbType.Decimal, 18, "NewForeCastQty");
UpdateCommand.Parameters.Add("@totSales", SqlDbType.Decimal, 18, "TotalSales");
UpdateCommand.Parameters.Add("@movingAvgQty", SqlDbType.Decimal, 18, "MAForCastQty");
UpdateCommand.Parameters.Add("@stockId", SqlDbType.Int, 16, "StockId");
UpdateCommand.Parameters.Add("@locationId", SqlDbType.Int, 16, "LocationId");
UpdateCommand.Parameters.Add("@periodId", SqlDbType.Int, 16, "IntervalTimeId");
UpdateLocationStock.CommandText = "update tblLocationSpecificStock set [email protected], [email protected] where [email protected] and [email protected] ";
UpdateLocationStock.Parameters.Add("@sav", SqlDbType.Decimal, 16, "CurrentSalesAverage");
UpdateLocationStock.Parameters.Add("@sravg", SqlDbType.Decimal, 16, "SalesRatioAverage");
UpdateLocationStock.Parameters.Add("@stockId", SqlDbType.Int, 16, "StockId");
UpdateLocationStock.Parameters.Add("@locationId", SqlDbType.Int, 16, "LocationId");
da.UpdateCommand = UpdateCommand;
da.Update(gameData,"GameData");
da.UpdateCommand = UpdateLocationStock;
da.Update(gameData.Tables["LocationStockData"]);
gameData.AcceptChanges();
Я имею изменения в моем наборе данных «GameData», но эти изменения не будут сохранены в базе данных. Я искал сеть для решения, но везде я нахожу аналогичное решение. Я застрял в этом вопросе Может кто-нибудь помочь мне, где я иду не так? или если есть какие-либо новые предложения о том, как хранить мой набор данных в базе данных.?
Это может помочь, если вы попробуете это с минимальным рабочим (или в вашем случае, нерабочим) примером. Вы можете, конечно, написать некоторый тестовый код, который построит правильный экземпляр DataSet, который вы можете попробовать сохранить в базе данных. –
Я попытался использовать тестовый код, чтобы обновить некоторые значения, и он успешно обновил databasae. Но эта часть не работает с этим фрагментом кода. – Surbhi
В этом случае первое, что я хотел бы проверить, это RowState в каждой строке экземпляра DataSet, на котором вы пытаетесь установить обновления. –