@Gherry : in loc de try/catch foloseste using - e mai compact si face acelasi lucru
using(SQLConnection sc=new SQLConnection())
{
sc.ConnectionString = <conexiune>;
sc.Open();
using(SQLCommand sco =new SQLCommand())
{
sco.Commandtype =...
sco.CommandText = ...
<excutat sco>
}
}
@Gherry : Exista nu stiu cite ORM-uri care incearca sa fie de toate pentru toate BD(NHibernate de exemplu, Linq mai nou)
Gindeste-te ca sintaxa pentru selectarea paginii 3 dintr-o tabela cu 27 de rinduri difera substantial intre MySQL , DB2, SQL Server, Oracle,....
Parerea mea ar fi : Daca acea clasa a ta functioneaza bine pe SQL Server si ai nevoie sa mearga pe oracle, ai 2 variante:
1. Foloseste clase/interfete de baza ( DBCOmmand, IDbConnection) - pe care le instantiezi fie cu SQLCOnnection, fie cu OracleConnection
2. Deriva o interfata din clasa ta , astfel incit implementarea Oracle, intr-o alta clasa , sa poata sa fie comuna.
In amindoua cazurile, la runtime, in functie de o setare, instantiezi cu oracle sau sql server.
Daca nu ai nevoie - nu fa nimic
YAGNI
Ignat Andrei
http://serviciipeweb.ro/iafblog