- - PR -
構造体からクラスで配列が・・・
1
投稿者 | 投稿内容 | ||||||||
---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2005-09-10 16:13
こちらの「スキル創造研究室」の構造体からクラスへの
あたりをじっくり読んで勉強させていただいております。 VB6の時に作ったプログラムで マスタテーブルから構造体の配列へ読み込み 他のプロシージャで利用というのがあるのですが これをクラス化しようと研究中です。 具体的には、標準モジュールで --------------------------- Public Type 構造体 項目(10) As String End Type ---------------------------- と宣言して、フォームで ---------------------------- Private Sub Form_Load() Dim x As 構造体 ループ はじまり 構造体.項目(カウンタ)=レコードセット ループ 終わり End Sub ---------------------------- といった感じです これをクラス化する第1段階として プロパティを作りました。 次にインスタンスを作成するときに Public インスタンス名(10) As New クラス名 として とりあえず読み込みサンプルとして1件だけ 読み込んでみようと、次のようにしました --------------------------------------------- Dim oCmd As OdbcCommand Dim oRd As OdbcDataReader cn.Open() oCmd = cn.CreateCommand oCmd.CommandText = "SELECT * FROM テーブル名" oRd = oCmd.ExecuteReader oRd.Read() インスタンス名(0).プロパティ = oRd("フィールド名") ------------------------------------------------ やりたいのは、こういった データ読み込みなどのメソッドを作成したいのですが。 データは複数件あるので、ループ処理が必要。 ループ処理をさせて読み込ますためには配列が必要 でもプロパティに配列は・・・・あれ・・・ みたいな感じで頭が混乱しています>< データベース読み込みクラス?のようなもの(サンプル)があれば 教えていただけないでしょうか?参考サイトなどでもいいです。 よろしくお願いします。 [ メッセージ編集済み 編集者: バニラミント 編集日時 2005-09-10 16:14 ] | ||||||||
|
投稿日時: 2005-09-10 16:32
要するに、可変長のデータを同扱うべきかという問題ですね。 VB なら Redim で配列の長さを動的に変更できるので、それを使うのも手です。 あるいは、System.Collections 名前空間配下の ArrayList クラスあたりを使えば、より汎用的な解となると思います。 | ||||||||
|
投稿日時: 2005-09-10 16:48
型付きDataSetを使うのが手っ取り早いです。 あるいは、自前で実装するという話ですか? | ||||||||
|
投稿日時: 2005-09-10 16:50
ArrayList を継承したコレクション クラスを作るとか...
_________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 | ||||||||
|
投稿日時: 2005-09-10 17:11
みなさまレスありがとうございました。
DataSetについては理解していたつもり だったのですが><; 教えていただいたDataSetとArrayListについて もっと勉強いたします。 | ||||||||
|
投稿日時: 2005-09-12 21:22
好みの問題ですが、CollectionBase から継承する方が好きです。。。なんとなく。。。 _________________ | ||||||||
|
投稿日時: 2005-09-13 09:07
好みの問題ですが、ICollection をインプリメントして、内部的に ArrayList を使用する方が好きです。公開したくない親クラスのメンバを隠蔽するのが面倒だったりするので…。 |
1