5 つのテキスト ボックスがあるフォームがあり、データベースからデータを取得して、その 5 つのテキスト ボックスにそのデータを設定する必要があるとします。
したがって、3 つの基本レイヤーがあるとします。
default.aspx ページの分離コード
DAL に接続する BLL クラス
およびデータ アクセス レイヤー (DAL)
しかし、default.aspx ページは sqldatareader について認識してはならないということを聞いて読んだことがあります。実際には、おそらく sqlclient 名前空間を default.aspx 分離コード ページに追加したくないでしょう。
だから私はこのようなことをしていました:
protected sub DisplayCustomerData()
Dim s as SqlDataReader
Dim b as BLL
b=new BLL();
s = b.GetCustomerData();
//then take s and simply set each text field
if s.read()
TextBox1.Value = s("MyField1")
end if
end sub
次に、BLL は単純に DAL を呼び出して SQL Server のストアド プロシージャを呼び出し、CommandObject.ExecuteReader を実行し、結果を取得して BLL に戻し、BLL はそれを default.aspx のコード ビハインド ページに送信します。
それが意味をなさない場合は、完全なソース コードを提供できます。私の質問は、default.aspx が実際に SQL データ リーダーを宣言して認識していることが悪い場合、これを行うためのより良い方法は何ですか? インターフェイス コードに sqldatareader が含まれないようにするには、どのデータ型を使用する必要がありますか?