大変お世話になっております。
Webフォーム上にObjectDataSourceを配置しております。
GridViewのデータソースとして何の問題もなく動作しております。
この配置してある ObjectDataSource のデータ全件を取得したいのですが、
文法はめちゃくちゃだと思うのですが、下記のイメージのような
取得の仕方はありますでしょうか?
他の方法でも構いませんので、ご指摘、ご教授いただければと存じます。
Dim TEST As ObjectDataSource = ODS_TEST
Dim buf As New StringBuilder
For Each row As TEST In ObjectDataSource.Rows
buf.Append(row.Cells("項目1").Text)
buf.Append(",")
buf.Append(row.Cells("項目2").Text)
Next
No.3ベストアンサー
- 回答日時:
こんにちは
何かObjectDataSourceの役割を勘違いされているような気がしますが。。
ObjectDataSourceというのは、表示・編集形のコントロールと、データ入出力のスキーム(TableAdapterとか、DataAdapterとか、XMLReaderとかetc)を「接着」すrための中間的なクラスです。
何のためにこんなものがあるかといえば、断然「データのページング取得」と「データ更新のための双方向バインディング」のためです。
なので、データの取得自体はデータアクセス層(DAL)の役目であり、ObjectDataSourceは表示・編集コントロールのための「繋ぎ役」にすぎません。
データ全件取得などのニーズであれば、直接DALから取るほうが速いし、メモリ的にも優しい処理です。
DataGridViewやListView、FormViewなどが主役でなければ、ObjectDataSourceはお呼びでないです。
また最近は、EntityFrameworkのような、リレーショナルデータを一括して処理できるDALの普及で、ObjectDataSourceの出番はなくなりました。
ADO.NET2.0時代の遺物にあまり拘らないほうがいいと。。
shockatzさん お世話になります。
ObjectDataSource の役割がよくわかりました。
もしかしたら、GridViewで使用している ObjectDataSource で、テキストファイル出力の為につかえないかなーっと思ったのが質問の意図でした。
DALとは何者か?! その辺りからいろいろと調べてみようと思っております。
ありがとうございました
No.2
- 回答日時:
> ObjectDataSourceと同じSQL文(別途に記述して作成)から、
> SqlDataReaderを使用して ReadをWhileループさせて
> StringBuilderにカンマ区切りで保存させてCSVファイルの
> 出力まで完成させたのですが、
それをできるスキルがあるのなら、そうするのがベストだと
思いますが。すべて自分の思い通りできるはずですから。
> ObjectDataSourceと同じデータソースを使うなら、これを
> 利用できないかと思い、それまでの経緯は省いた形で質問
> させていただきました。
ObjectDataSource.Select メソッドを使ってデータを取得で
きると思いますが、自力でコードを書いてデータを取得でき
るなら、あまりメリットはなさそうです。
WebSurferさん お世話になっております。
ObjectDataSource.Select メソッドでもデータを取得できるのですね!
調べてみようと思っております。
また困ったことがありましたら、何卒ご教授いただければと存じます。
No.1
- 回答日時:
> この配置してある ObjectDataSource のデータ全件を取得
> したいのですが、
意味が全く分かりません。もっと具体的に何がしたいのか書いていただけませんか?
この回答への補足
WebSurferさん お世話になります。
GridView のデータをCSVファイルに出力したいと考えております。
GridView のCSVファイル出力については、各サイトで紹介されているサンプルで取得できたのですが、GridViewのページオプションを適応していると、全件取得できないことや、テンプレートフィールドにしていると、その部分のセルの値が取得できないなどの事がわかりました。
ObjectDataSourceと同じSQL文(別途に記述して作成)から、SqlDataReaderを使用して ReadをWhileループさせてStringBuilderにカンマ区切りで保存させてCSVファイルの出力まで完成させたのですが、ObjectDataSourceと同じデータソースを使うなら、これを利用できないかと思い、それまでの経緯は省いた形で質問させていただきました。
Webフォームにすでに貼ってあるObjectDataSourceから直接CSVファイルに出力できる方法など、もしくは、Whileループなどを使用して全件データが取得できる方法があれば、CSVファイルを出力する機能をつける他のページでも流用できればなと思った次第であります。
ObjectDataSourceからこのような形でデータ取得をすること自体が間違ったことである、こういう方法がある、他の方法でこんな方法があるなどございましたら、何卒ご指摘、ご教授いただければと存じます。
よろしくお願いいたします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) VBA フォルダ見える化のコードについて 2 2023/06/19 15:04
- Visual Basic(VBA) このマクロの説明文を教えてほしいです。 1 2023/01/12 09:17
- Visual Basic(VBA) 複数csvを横に追加していくマクロについて 2 2023/04/25 09:19
- Visual Basic(VBA) フォルダの場所を可変にしたいです(マクロ) 4 2023/05/11 10:00
- Visual Basic(VBA) オブジェクトが見つかりません 1 2023/06/24 19:43
- Visual Basic(VBA) VBA 別ブックからの転記の高速化について VBA 別ブックからの転記の高速化についてご教授下さい。 19 2022/07/26 13:07
- Visual Basic(VBA) 【VBA】特定のワードが入っている行全体を塗りつぶしたい 4 2022/04/20 15:22
- Visual Basic(VBA) いつもお世話になっております、VBAで教えて頂きたいのですが 2 2022/05/05 22:20
- Visual Basic(VBA) findメソッドの変数について 6 2023/06/23 08:01
- Visual Basic(VBA) Excel-VBAでのファイルの開き方 4 2023/02/14 11:01
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
DataGrdViewに関連付けたデータ...
-
【Excel VBA】先頭の「0」飛び...
-
ACCESSのVBAで[Split]について
-
VBA ピボットテーブル自動更新
-
GridViewにバインドせずにデー...
-
Listviewのデータを上から順番...
-
GASでスプレッドシートの一番上...
-
【ASP.NET MVC】一覧編集画面
-
DataGridViewで表示に制限をつ...
-
アクセス2007 レポートで表示さ...
-
.NET SqlDataReader のレコー...
-
SqlDataSourceのUpdatingイベン...
-
データソースの非活性化について
-
MSFlexGridのデータ表示位置の設定
-
通貨表示??3桁区切りでカン...
-
Vba TextBox1.ControlSourceに...
-
Excelのセルの色指定をVBAから...
-
テキストボックスのvalueとtext...
-
【Excel VBA】指定行以降をクリ...
-
特定のセルが空白だったら、そ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
【Excel VBA】先頭の「0」飛び...
-
DataGrdViewに関連付けたデータ...
-
Listviewのデータを上から順番...
-
GASでスプレッドシートの一番上...
-
VBAでページ番号、ページ最終行...
-
.NET SqlDataReader のレコー...
-
MSFlexGridのデータ表示位置の設定
-
GridViewにバインドせずにデー...
-
【ASP.NET MVC】一覧編集画面
-
エクセルマクロ小数点桁数
-
VB6 → EXCEL にデーター出力
-
DataGridViewで表示に制限をつ...
-
yahoo天気の過去1ヶ月分のデー...
-
コンパイルエラーSubまたは...
-
C# データ配列から画像を作成す...
-
エクセルVBAによるマトリク...
-
VB.NETにてDB2のBLOB型のデータ...
-
GridViewを自動的にスクロール...
-
ListViewで条件によって表示を...
-
Visual C++ 6.0で ODBCを使用せ...
おすすめ情報