マイクロソフトエンタープライズライブラリ5を使用して次のコードがあります。
Database database = DatabaseFactory.CreateDatabase("myConStr");
int rowsAffected = database.ExecuteNonQuery("[DeleteCustomer]", cboCustomers.SelectedItem.ToString());
myConStrはapp.configで正しく定義されています(他のELベースのクエリで機能します)。DeleteCustomerSPは次のように定義されます。
CREATE PROCEDURE DeleteCustomer
@CustomerID nchar(5)
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
-- Insert statements for procedure here
delete from dbo.Customers
where CustomerID = @CustomerID
END
ExecuteNonQueryメソッドのドキュメントでは、結果は影響を受けた行の数を返すと言われています。
ただし、削除が正常に機能していても、常に結果「-1」が返されます。どうしたの?削除されたレコードの数を取得するにはどうすればよいですか?
ありがとう、ルシアン