OrderLineData.cs
上传用户:lxycoco
上传日期:2022-07-21
资源大小:38457k
文件大小:2k
源码类别:

C#编程

开发平台:

Others

  1. using System;
  2. using System.EnterpriseServices;
  3. using System.Data;
  4. using System.Data.SqlClient;
  5. namespace Wrox.ProCSharp.EnterpriseServices
  6. {
  7. public interface IOrderLineUpdate
  8. {
  9. void Insert(int orderId, OrderLine orderDetail);
  10. void Update(OrderLine orderDetail);
  11. }
  12. [Transaction(TransactionOption.Required)]
  13. [EventTrackingEnabled(true)]
  14. [ConstructionEnabled(true, Default="server=localhost;database=northwind;trusted_connection=true")]
  15. public class OrderLineData : ServicedComponent, IOrderLineUpdate
  16. {
  17. public OrderLineData()
  18. {
  19. }
  20. private string connectionString = null;
  21. #region IOrderDetailUpdate Members
  22. public void Insert(int orderId, OrderLine orderDetail)
  23. {
  24. SqlConnection connection = new SqlConnection(connectionString);
  25. try
  26. {
  27. SqlCommand command = connection.CreateCommand();
  28. command.CommandText = "INSERT INTO [Order Details] (OrderId, ProductId, UnitPrice, Quantity)" +
  29. "VALUES(@OrderId, @ProductId, @UnitPrice, @Quantity)";
  30. command.Parameters.Add("@OrderId", orderId);
  31. command.Parameters.Add("@ProductId", orderDetail.ProductId);
  32. command.Parameters.Add("@UnitPrice", orderDetail.UnitPrice);
  33. command.Parameters.Add("@Quantity", orderDetail.Quantity);
  34. connection.Open();
  35. int rows = command.ExecuteNonQuery();
  36. if (rows != 1)
  37. throw new Exception("error");
  38. }
  39. catch (Exception ex)
  40. {
  41. System.Windows.Forms.MessageBox.Show(ex.Message);
  42. ContextUtil.SetAbort();
  43. throw;
  44. }
  45. finally
  46. {
  47. connection.Close();
  48. }
  49. ContextUtil.SetComplete();
  50. }
  51. protected override void Construct(string s)
  52. {
  53. connectionString = s;
  54. }
  55. public void Update(OrderLine orderDetail)
  56. {
  57. // TODO:  Add UpdateOrderDetail.Update implementation
  58. }
  59. #endregion
  60. }
  61. }