Esempio n. 1
0
        private static void UpdateUsingDataSet(SqlDatabase database)
        {
            var productsDataSet = new DataSet();
            var cmd = database.GetSqlStringCommand("Select ProductID, ProductName, CategoryID, UnitPrice, LastUpdate From Products");

            // Retrieve the initial data.
            database.LoadDataSet(cmd, productsDataSet, "Products");

            // Get the table that will be modified.
            var productsTable = productsDataSet.Tables["Products"];

            // Add a new product to existing DataSet.
            productsTable.Rows.Add(new object[] { DBNull.Value, "New product", 11, 25 });

            // Modify an existing product.
            productsTable.Rows[0]["ProductName"] = "Modified product";

            // Establish the Insert, Delete, and Update commands.
            var insertCommand = database.GetStoredProcCommand("AddProduct");
            database.AddInParameter(insertCommand, "ProductName", DbType.String, "ProductName", DataRowVersion.Current);
            database.AddInParameter(insertCommand, "CategoryID", DbType.Int32, "CategoryID", DataRowVersion.Current);
            database.AddInParameter(insertCommand, "UnitPrice", DbType.Currency, "UnitPrice", DataRowVersion.Current);

            var deleteCommand = database.GetStoredProcCommand("DeleteProduct");
            database.AddInParameter(deleteCommand, "ProductID", DbType.Int32, "ProductID", DataRowVersion.Current);

            var updateCommand = database.GetStoredProcCommand("UpdateProduct");
            database.AddInParameter(updateCommand, "ProductID", DbType.Int32, "ProductID", DataRowVersion.Current);
            database.AddInParameter(updateCommand, "ProductName", DbType.String, "ProductName", DataRowVersion.Current);
            database.AddInParameter(updateCommand, "LastUpdate", DbType.DateTime, "LastUpdate", DataRowVersion.Current);

            // Submit the DataSet, capturing the number of rows that were affected.
            var rowsAffected = database.UpdateDataSet(productsDataSet, "Products", insertCommand, updateCommand, deleteCommand,
                                UpdateBehavior.Standard);
        }