私は旧来のASPプログラマで、時には最初のASP.NETアプリケーションを書くPHPプログラマです。私は非常に改良されたADO.NET関数を愛していますが、私はデータベースクラスを書く必要があると感じています。部分的には、データベースと実際にやりとりするコードを統合し、部分的には繰り返しのような感じを減らしたいと思っています。パラメータ化されたクエリをサポートするデータベースクラスを書く方法
単純なデータベースクラスは難しくありませんが、私はセキュリティ対策の1つとしてパラメータ化されたクエリを使用しています。私はこれをクラスに組み込む方法に苦労しています。私は、テーブルとカラム名を渡すことで、データベースのカラムのデータ型を返す関数を書いたが、SQLクエリからテーブルとカラム名を得る堅牢な方法は考えられない。
私のクラスの設計では、選択のためのQuery()関数と、挿入/更新/削除のためのExecute()関数がありました。 (より多くのパブリック関数を持つことには反対しませんが、自分よりも先に進めたいとは思っていませんでした)。どちらの関数も、SQLストリングとソートされたリストをパラメーターとして取ります。 SQL文字列の中でパラメータ名を見つけ、等号の前を見ることで列名を得ることができます。同様に、一度に1つのテーブルだけで作業するため、クエリが挿入、更新、または削除のときにテーブル名を取得するのはかなり簡単です。 1つ以上の結合、内部の選択などがある可能性があるため、大きな問題が選択されています。
私は間違った方向に向かっていますか?私がそれを考えていないものは、私の人生を楽にすることができますか?誰かが何らかのアドバイスを提供できる任意の言語でこのためのクラスを書いていますか?
パラメータ化クエリもサポートする古いODBC APIはもちろんですが、 –