原文参考地址.
DAL用的是强类型的DataSet,原文中有一段这样的代码
[System.ComponentModel.DataObjectMethodAttribute(System.ComponentModel.DataObjectMethodType.Insert, true)]
51 public bool AddProduct(string productName, int? supplierID, int? categoryID, string quantityPerUnit,
52 decimal? unitPrice, short? unitsInStock, short? unitsOnOrder, short? reorderLevel,
53 bool discontinued)
54 {
55 // 新建一个ProductRow实例
56 Northwind.ProductsDataTable products = new Northwind.ProductsDataTable();
57 Northwind.ProductsRow product = products.NewProductsRow();
58
59 product.ProductName = productName;
60 if (supplierID == null) product.SetSupplierIDNull(); else product.SupplierID = supplierID.Value;
61 if (categoryID == null) product.SetCategoryIDNull(); else product.CategoryID = categoryID.Value;
62 if (quantityPerUnit == null) product.SetQuantityPerUnitNull(); else product.QuantityPerUnit = quantityPerUnit;
63 if (unitPrice == null) product.SetUnitPriceNull(); else product.UnitPrice = unitPrice.Value;
64 if (unitsInStock == null) product.SetUnitsInStockNull(); else product.UnitsInStock = unitsInStock.Value;
65 if (unitsOnOrder == null) product.SetUnitsOnOrderNull(); else product.UnitsOnOrder = unitsOnOrder.Value;
66 if (reorderLevel == null) product.SetReorderLevelNull(); else product.ReorderLevel = reorderLevel.Value;
67 product.Discontinued = discontinued;
68
69 // 添加新产品
70 products.AddProductsRow(product);
71 int rowsAffected = Adapter.Update(products);
72
73 // 如果刚好新增了一条记录,则返回true,否则返回false
74 return rowsAffected == 1;
75 }如果我写成这样:
51 public bool AddProduct(string productName, int? supplierID, int? categoryID, string quantityPerUnit,
52 decimal? unitPrice, short? unitsInStock, short? unitsOnOrder, short? reorderLevel,
53 bool discontinued)
54 {
71 int rowsAffected = Adapter.UpdateProducts(productName,supplierID等等);
72
73 // 如果刚好新增了一条记录,则返回true,否则返回false
74 return rowsAffected == 1;
75 }也一样能实现插入产品呀.为什么要写成上面那么麻烦?有什么分别?
DAL用的是强类型的DataSet,原文中有一段这样的代码
[System.ComponentModel.DataObjectMethodAttribute(System.ComponentModel.DataObjectMethodType.Insert, true)]
51 public bool AddProduct(string productName, int? supplierID, int? categoryID, string quantityPerUnit,
52 decimal? unitPrice, short? unitsInStock, short? unitsOnOrder, short? reorderLevel,
53 bool discontinued)
54 {
55 // 新建一个ProductRow实例
56 Northwind.ProductsDataTable products = new Northwind.ProductsDataTable();
57 Northwind.ProductsRow product = products.NewProductsRow();
58
59 product.ProductName = productName;
60 if (supplierID == null) product.SetSupplierIDNull(); else product.SupplierID = supplierID.Value;
61 if (categoryID == null) product.SetCategoryIDNull(); else product.CategoryID = categoryID.Value;
62 if (quantityPerUnit == null) product.SetQuantityPerUnitNull(); else product.QuantityPerUnit = quantityPerUnit;
63 if (unitPrice == null) product.SetUnitPriceNull(); else product.UnitPrice = unitPrice.Value;
64 if (unitsInStock == null) product.SetUnitsInStockNull(); else product.UnitsInStock = unitsInStock.Value;
65 if (unitsOnOrder == null) product.SetUnitsOnOrderNull(); else product.UnitsOnOrder = unitsOnOrder.Value;
66 if (reorderLevel == null) product.SetReorderLevelNull(); else product.ReorderLevel = reorderLevel.Value;
67 product.Discontinued = discontinued;
68
69 // 添加新产品
70 products.AddProductsRow(product);
71 int rowsAffected = Adapter.Update(products);
72
73 // 如果刚好新增了一条记录,则返回true,否则返回false
74 return rowsAffected == 1;
75 }如果我写成这样:
51 public bool AddProduct(string productName, int? supplierID, int? categoryID, string quantityPerUnit,
52 decimal? unitPrice, short? unitsInStock, short? unitsOnOrder, short? reorderLevel,
53 bool discontinued)
54 {
71 int rowsAffected = Adapter.UpdateProducts(productName,supplierID等等);
72
73 // 如果刚好新增了一条记录,则返回true,否则返回false
74 return rowsAffected == 1;
75 }也一样能实现插入产品呀.为什么要写成上面那么麻烦?有什么分别?
http://reeezak.cnblogs.com/archive/2006/06/24/434439.html
int rowsAffected = Adapter.UpdateProducts(productName,supplierID等等);
72
73 // 如果刚好新增了一条记录,则返回true,否则返回false
74 return rowsAffected == 1;
好像是更新的吧。这个我也在看,不就是Scott Mitchell的ASP.NET2.0教程中的吗?
这是两个不同的方法,楼主搞混了吧。
第二种方法应该是
int rowsAffected = Adapter.AddProduct(productName,supplierID等等);