天天看點

使用我們的DataProvider

使用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