سلام
مثال stored procedure
CREATE PROCEDURE UpdateProduct
@OldProductID int,
@NewProductName nvarchar(40),
@NewUnitPrice money,
@OldProductName nvarchar(40),
@OldUnitPrice money
AS
-- update the row in the Products table
UPDATE Products
SET
ProductName = @NewProductName,
UnitPrice = @NewUnitPrice
WHERE ProductID = @OldProductID
AND ProductName = @OldProductName
AND UnitPrice = @OldUnitPrice
روش استفاده:
public static void ModifyDataRow(
DataTable myDataTable,
int productID,
SqlDataAdapter mySqlDataAdapter,
SqlConnection mySqlConnection
)
{
Console.WriteLine("\nIn ModifyDataRow()");
// step 1: set the PrimaryKey property of the DataTable
myDataTable.PrimaryKey =
new DataColumn[]
{
myDataTable.Columns["ProductID"]
};
// step 2: use the Find() method to locate the DataRow
// in the DataTable using the primary key value
DataRow myEditDataRow = myDataTable.Rows.Find(productID);
// step 3: change the DataColumn values of the DataRow
myEditDataRow["ProductName"] = "Advanced Widget";
myEditDataRow["UnitPrice"] = 24.99;
Console.WriteLine("myEditDataRow.RowState = " +
myEditDataRow.RowState);
Console.WriteLine("myEditDataRow[\" ProductID\", " +
"DataRowVersion.Original] = " +
myEditDataRow["ProductID", DataRowVersion.Original]);
Console.WriteLine("myEditDataRow[\" ProductName\", " +
"DataRowVersion.Original] = " +
myEditDataRow["ProductName", DataRowVersion.Original]);
Console.WriteLine("myEditDataRow[\" UnitPrice\", " +
"DataRowVersion.Original] = " +
myEditDataRow["UnitPrice", DataRowVersion.Original]);
Console.WriteLine("myEditDataRow[\" ProductName\", " +
"DataRowVersion.Current] = " +
myEditDataRow["ProductName", DataRowVersion.Current]);
Console.WriteLine("myEditDataRow[\" UnitPrice\", " +
"DataRowVersion.Current] = " +
myEditDataRow["UnitPrice", DataRowVersion.Current]);
// step 4: use the Update() method to push the update
// to the database
Console.WriteLine("Calling mySqlDataAdapter.Update()");
mySqlConnection.Open();
int numOfRows = mySqlDataAdapter.Update(myDataTable);
mySqlConnection.Close();
Console.WriteLine("numOfRows = " + numOfRows);
Console.WriteLine("myEditDataRow.RowState = " +
myEditDataRow.RowState);
DisplayDataRow(myEditDataRow, myDataTable);
}