使用DataProvider(Select)
DataProviders.IDataProvider provider = CreateDataProvider();
provider.SQL = "SELECT CompanyID as [Identity],Name,ShortName,Code,LegalEntity,Address,PostalCode,Type as CompanyType,CityID,Version " +
"FROM lt_dictionary.Company WHERE CityID=@cityid";
provider.AddParameters("@cityid", cityID);
return provider.ExecuteDataTable();
使用DataProvider(Update)
provider.SQL = "UPDATE lt_dictionary.Company " +
"SET " +
"Name=@name, " +
"ShortName=@shortName," +
"Code=@code," +
"LegalEntity=@legalEntity," +
"Address=@address," +
"PostalCode=@postalCode, " +
"Type=@type," +
"CityID=@cityID " +
"WHERE CompanyID=@id AND Version=@ver";
provider.AddParameters("@name", company.Name);
provider.AddParameters("@shortName", company.ShortName);
provider.AddParameters("@Code", company.Code);
provider.AddParameters("@LegalEntity", company.LegalEntity);
provider.AddParameters("@address", company.Address);
provider.AddParameters("@postalCode", company.PostalCode);
provider.AddParameters("@type", company.CompanyType.ToString());
provider.AddParameters("@cityID", company.City.Identity);
provider.AddParameters("@id", original_company.Identity);
provider.AddParameters("@ver", original_company.Version, DataProviders.ByteArrayFamily.Timestamp);
return provider.ExecuteNonQuery() > 0;
使用DataProvider(Insert)
provider.SQL = "INSERT INTO lt_dictionary.City " +
"([Name],PostalCode,DistanceCode,Province,Longitude,Latitude)" +
"VALUES " +
"(@Name,@PostalCode,@DistanceCode,@Province,@Longitude,@Latitude)";
provider.AddParameters("@name", city.Name);
provider.AddParameters("@postalCode", city.PostalCode);
provider.AddParameters("@distanceCode", city.DistanceCode);
provider.AddParameters("@province", city.Province);
provider.AddParameters("@longitude", city.Longitude);
provider.AddParameters("@latitude", city.Latitude);
通過上述的代碼,可以發現,使用了我們的DataProvider後,程式員對ADO.Net的了解被降到最低程度,其隻要關心具體的SQL指令和參數的指派,其他内容不再需要其關注。很高程度的提高了程式員的開發效率。
本文轉自shyleoking 51CTO部落格,原文連結:http://blog.51cto.com/shyleoking/805831