-
1. Data: 2012-03-15 09:01:08
Temat: Nazwane parametry w bibliotekach bazodanowych
Od: Jacek Czerwinski <...@...z.pl>
Moze mam szajbę. W różnych środowiskach tropię podawanie parametrów do
SQL przez nazwę (zamiast popularnego pytajnika i pozycyjnego sposobu).
Strasznie to jest dziwne. Mam świadomość że SQL i jego standardy oraz
pochodne sięga zamierzchłych lat, ale ciągle mi trudno zaakceptować taki
stan.
Przegrzebałem bardzo dużo, "my" wszyscy przeciwnicy pozycyjnych
argumentów podajemy podobne przykład "where fld1=:arg od fld2=:arg"
który w pozycyjnym zapisie zaczyna być koszmarem.
Wpadłem na bazy danych w .NET/C#. Myślę, o kurcze, wreszcie nowoczesne
środowisko, pisownia inna, z małpką, ale sens prawidłowy... będzie dobrze.
Zacząłem pilnować aby kod był przenośny. I cholera okazuje się, że te
tysiące przykładów to tylko dialekt MS-SQL dla klas od SqlConnection.
Przejście na zestaw klas 'przenośny' IDbConnection i pochodne, okazuje
się ze tam znów jest tylko pozycyjny pytajnik.
Wprawdzie znalazłem 'Rewriter' z parametrów nazwanych na pozycyjne, ale
jestem zniesmaczony. A sam rewriter jest na wyrażeniach regularnych a
nie na parserze, pewnie w złośliwym przypadku może się wyłożyć, potestuję.
Na gruncie Javy z JDBC łączę się wyłącznie poprzez Spring JDBC, z
wyboru, chyba w 2/3 z tego powodu. W C++ chyba żadnego dominującego
rozwiązania nie ma (za wyjątkiem borlandów ale co to za c++)