No.2ベストアンサー
- 回答日時:
>その時点でOleDbDataAdapter.DisposeとOleDbConnection.CloseとOleDbConnection.Dispose加えればいいですよね?
そうですね!接続の管理だけは、開発者側で見えるように
実装してあげれば、いいのかなと。
WebFormにOleDbDataAdapterやOleDbConnectionを配置した場合でも、
コードの中でインスタンスや接続情報を生成して実装した場合でも、
ConnectionのCloseやDispose()は、できると思います。
>そのあとのデータ操作は全部データセットを通じて変更したり、できることでしょうね。
そうですね。
DataSetさえ取れてしまえば(Fillしてしまえばという言い方がいいんですかね)、
後はConnectionやAdapterは不要になるので、
CloseしたりDisposeすれば、宜しいんじゃないかと思います。
参考になれば、幸いです。
No.1
- 回答日時:
つなぎっぱなしだとレスポンス(効率)というよりも
ロック・排他の問題等も発生して、大問題です。
(このロック・排他に対する待ちが発生するから、効率が
悪いという言葉になっているだけです。その辺りは理解を
間違えないようお願いします)
上記は、どこから来た情報なのか根拠が見えないので
なんともいえないのですが、恐らく、WebForm上に
OleDbConnectionや、OleDbDataAdapterのコントロールを設置して、
DataGridに自動的に連結させるから、接続しっぱなしの状況に
なっているという意味で、おっしゃっているのだと
思いますが、いかがでしょうか?
(詳しいことは、ちょっと調べてみないとわからないですが)
本来、WebForm上にOleDbConnectionやOleDbDataAdapterの
コントロールを設置して、DataGridに自動連結させるプロパティを
設定するやり方が基本なんですけど、
もし、「接続しっぱなし」状態を防ぐために
.NET側で自動制御させるのではなく、常に開発者側で
「接続状況」を管理したいのであれば、ConnectionもAdapterも、
全部自分でコードを書いて管理するしかないと思います。
(下記サンプル)
------------------------------------------------------------
' 接続
Dim conn As New System.Data.OleDb.OleDbConnection( _
"Jet OLEDB:Global Partial Bulk Ops=2;Jet OLEDB:Registry Path=;Jet OLEDB:Database Locking Mode=1;Jet OLEDB:Database Password=;Data Source=""D:\db1.mdb"";Password=;Jet OLEDB:Engine Type=5;Jet OLEDB:Global Bulk Transactions=1;Provider=""Microsoft.Jet.OLEDB.4.0"";Jet OLEDB:System database=;Jet OLEDB:SFP=False;Extended Properties=;Mode=Share Deny None;Jet OLEDB:New Database Password=;Jet OLEDB:Create System Database=False;Jet OLEDB:Don't Copy Locale on Compact=False;Jet OLEDB:Compact Without Replica Repair=False;User ID=Admin;Jet OLEDB:Encrypt Database=False")
' SQL抽出
Dim adapter As New System.Data.OleDb.OleDbDataAdapter( _
"SELECT * FROM Table1", conn)
' 抽出したデータを取り出す
Dim dt As New System.Data.DataTable
adapter.Fill(dt)
' 接続を閉じる
adapter.Dispose()
conn.Close()
conn.Dispose()
' DataGridに表示
Me.DataGrid1.DataSource = dt
Me.DataGrid1.DataBind()
------------------------------------------------------------
やり方はいろいろですが、いずれのやり方にしても
OleDbConnectionとOleDbDataAdapterを使うことには
変わりないかと思います。
ありがとうございます。
おしゃった通りWebForm上に
OleDbConnectionや、OleDbDataAdapterのコントロールを設置して、
Fillでデータセットにデータ格納する。
その時点でOleDbDataAdapter.DisposeとOleDbConnection.CloseとOleDbConnection.Dispose加えればいいですよね?
そのあとのデータ操作は全部データセットを通じて変更したり、できることでしょうね。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) EXCELの外部データ取得ができない 1 2023/03/23 09:03
- ドライブ・ストレージ SSDを追加したら昔のHDDがおかしくなった 4 2023/03/23 13:25
- Android(アンドロイド) スマホのデータ使用量に表示されるアプリ(10291)とはどんなアプリケーションでしょうか 1 2022/04/17 18:48
- その他(開発・運用・管理) おんどとりWebStorage APIから温度情報を取得し表示したい 2 2023/08/03 09:53
- ドライブ・ストレージ USB接続のHDDから別のUSB接続HDDにコピー 3 2022/04/16 14:00
- ドライブ・ストレージ Win11 外付けHDDが認識されない 4 2022/05/24 10:02
- Android(アンドロイド) Androidスマホのデータ移行が終わらない 1 2023/08/04 17:25
- HTML・CSS WEBサイトの構築。表示データとWEBデザインを分離する考え方を専門用語・業界用語では何と言うか? 8 2022/09/27 09:16
- ドライブ・ストレージ 外付けHDDの破損?について教えてください。 8 2022/12/27 15:03
- その他(IT・Webサービス) デスクトップPCでyoutubeのサイトへ接続しようとしても「インターネットに接続してください」と表 3 2022/10/12 23:41
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ワイファイ 監視カメラを買いま...
-
パソコンのWireless LAN adapte...
-
PC間のシリアル通信とTCP/IPの...
-
PCのIP構成とアダプタの種類に...
-
外とか歩いてると知らないWi-Fi...
-
賃貸で、PS5を有線接続にてイン...
-
インターネット接続についてで...
-
ローカルエリア接続 無効
-
oppoのスクリーンキャストにつ...
-
PCでswichのプロコン使ってブロ...
-
鹿島田でスマホの接続が悪くな...
-
なぜ USB→PS/2接続 ○ PS/2...
-
BUFFALOが急に接続出来なくなり...
-
Win10、PC起動時に自動でネット...
-
VH-100<4>E<N> を認識させるド...
-
ドコモのスマートフォンで他社w...
-
接続が切断されるのはウィルス...
-
グローバルIPなしでのVPN構築
-
助けてください!新しく作った...
-
無線LAN接続ハードディスクって...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
パソコンのWireless LAN adapte...
-
賃貸で、PS5を有線接続にてイン...
-
鹿島田でスマホの接続が悪くな...
-
有線LANと無線LANを簡単に切り...
-
プロキシて最近聞かないような...
-
2台のpcで1台のUSB H...
-
インターネット接続についてで...
-
Switchだけ家のWiFiが接続出来...
-
ローソン100にwifiありますか
-
PC間のシリアル通信とTCP/IPの...
-
楽天モバイルハワイで繋がらない
-
PCのIP構成とアダプタの種類に...
-
「I:どの接続にオープン ファイ...
-
ドコモのスマートフォンで他社w...
-
外とか歩いてると知らないWi-Fi...
-
オープン接続 クローズ接続
-
アカシックレコード
-
Win10、PC起動時に自動でネット...
-
iPhoneでWi-FiにVPN接続すると...
-
XBOX360(S型を使用してます。XB...
おすすめ情報