Если я вас правильно понял - вы спрашиваете об изменениях этого кода, если вы используете какой-либо ORM, например EntityFramework или NHibernate.Итак, краткое описание (извините за синтаксис C #):подключение изменится на строго типизированный код, без строки SQL.
using (var dbContext = new ProductEntites())
{
var dbSelect = dbContext.Products.OrderBy(x=>x.PName);
Do-While будет изменено на foreach(var product in dbSelect)
Все ProductReader("PDescription")
будет измененона product.PDescription
(без строк!)
Использование ORM
- гораздо безопаснее использовать всю прибыль строго типизированных классов (они будут генерироваться с помощью инструментов Visual Studio)
- проверка параметров для SQL-инъекций производится автоматически
- настоятельно рекомендуется, если вам нужно создать приложение, независимое от БД