C# Winforms обновляет базу данных, когда данные загружаются с SqlDataAdapter с помощью хранимой процедуры

Этот вопрос, возможно, задавали много раз, но я все еще борюсь с ним. Я загружаю данные из базы данных следующим образом:

private void loadProduct()
{
      SqlConnection conn = null ;

      try
      {
           using (conn = new SqlConnection(myGlobals.connString))
           {
                conn.Open();
                dsProduct = new DataSet();

                using (SqlCommand cmd = new SqlCommand("getProduct", conn))
                {
                    cmd.CommandType = CommandType.StoredProcedure;
                    cmd.Parameters.AddWithValue("@productId", productId);

                    daProduct = new SqlDataAdapter(cmd);                        
                    daProduct.Fill(dsProduct, "product");
                    daProduct.UpdateCommand = cmd;                  
                } 
                conn.Close();
            }
        }
        catch (Exception ex)
        {
            MessageBox.Show("Data loading error!..."
                + Environment.NewLine
                + ex.ToString());
        }
        finally
        {
            conn.Dispose();
            //cmd.Dispose();
            //adapter.Dispose();
        }
    } 

У меня есть хранимая процедура getProduct следующим образом:

...
CREATE PROCEDURE [dbo].[getProduct]
    @productId int
AS
BEGIN
    SET NOCOUNT ON;    
SELECT * from product WHERE   (product.productId = @productId)    
END

ProductId - это первичный ключ таблицы.

Теперь я хочу обновить базу данных с помощью адаптера. Обновление (таблица)

private void btnSave_Click_1(object sender, EventArgs e)
    {
        try
        {
            using (SqlConnection conn = new SqlConnection(myGlobals.connString))
            {
                conn.Open();
                SqlCommandBuilder cbProduct = new SqlCommandBuilder(daProduct);
                bsProduct.EndEdit();

                daProduct.UpdateCommand.Connection = conn;
                int rows = daProduct.Update(dsProduct, "product");
                MessageBox.Show(rows.ToString() + " Updated Successfully");
            }                    
        }
        catch (Exception ex)
        {
            MessageBox.Show(ex.ToString());
        }
    }

Функция обновления работает и отображает: 1 Обновление успешно, но на самом деле база данных никогда не обновляется. Что не так с моим кодом?

0 ответов

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