• ベストアンサー

接続の問題

ASP.NetでWebアプリ作っていますが、 OS:WinXP 言語:VB Visual Studio.Net2003 データグリッドでAccessのデータと接続して、データ表示したいですが、一般的はどんな方法を使いますか。 ちなみにデータベースと繋ぎっぱなしで、効率が落ちると聞いているのですが・・・ 詳しい方がいたら、教えてください。 よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • kero_mio
  • ベストアンサー率90% (94/104)
回答No.2

>その時点でOleDbDataAdapter.DisposeとOleDbConnection.CloseとOleDbConnection.Dispose加えればいいですよね? そうですね!接続の管理だけは、開発者側で見えるように 実装してあげれば、いいのかなと。 WebFormにOleDbDataAdapterやOleDbConnectionを配置した場合でも、 コードの中でインスタンスや接続情報を生成して実装した場合でも、 ConnectionのCloseやDispose()は、できると思います。 >そのあとのデータ操作は全部データセットを通じて変更したり、できることでしょうね。 そうですね。 DataSetさえ取れてしまえば(Fillしてしまえばという言い方がいいんですかね)、 後はConnectionやAdapterは不要になるので、 CloseしたりDisposeすれば、宜しいんじゃないかと思います。 参考になれば、幸いです。

sinomori
質問者

お礼

了解です。 説明ありがとうございます!

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (1)

  • kero_mio
  • ベストアンサー率90% (94/104)
回答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を使うことには 変わりないかと思います。

sinomori
質問者

お礼

ありがとうございます。 おしゃった通りWebForm上に OleDbConnectionや、OleDbDataAdapterのコントロールを設置して、 Fillでデータセットにデータ格納する。 その時点でOleDbDataAdapter.DisposeとOleDbConnection.CloseとOleDbConnection.Dispose加えればいいですよね? そのあとのデータ操作は全部データセットを通じて変更したり、できることでしょうね。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • ASP.NETのWEB画面

    ASP.NETでWEB画面作成しているのですが、かなり遅いです。 早くする方法があれば教えて下さい。 「Visual Studio 2003」と「Visual Studio 2005」を使っています。 どちらで作っても遅いです。 データサーバーはSQLServerとAccessを使っています。 プログラミングはVBを使用しています。 よろしくお願いします。

  • Accessのレポートみたいな機能が欲しい

    Accessをずっと使っています。しかし、データの容量が多くなり、Accessが非常に重たいです。 そこで、Visual Studioを買ってVBでアプリを作ってデータベースにMYSQLか何かを使えばという話になりました。 そこで、色々調べたのですが、VBでは標準でアクセスのレポートみたいな機能がないことがわかりました。 クリスタルレポートなどを使えば良いとネットで書かれていましたが、外国製で使い勝手が悪いともかいてありました。 有料でもいいので、日本人が使いやすいようなコンポーネントは何かよいものがあるでしょうか?よろしくお願いします。

  • VS.Netの種類について(VBでデータベース)

    現在Accessを使ってデータベース検索の簡単なテーブルを作っています。 これをVisual Basicでソフトウエアとして作りたいのですが、マイクロソフトのVisual Studioのサイトで確認したらSQLがVisual Studio.Net Professional 2003では使用できないようです。 はやりVisual Studio.NET Enterprise Developer 2003を購入しないといけないのでしょうか? (SQLが使えるかだけえ値段が倍も違う・・・) しかしVB.Netでデータベースを紹介している書籍では必ずしもEnterprise Developerを使っているわけではなさそうです(一部書籍ではEDを指定していますが)。 やりたいことは大量の.txtと.csvに記述してあるデータと、Web上に常に更新されるデータを吸い取って統計を取ることです。 あとVB.Netではこれらの統計データをグラフ化するのはExcelのように簡単にできるのでしょうか? まだVB.Netを使用したことがないため、お手数ですがおわかりのかたよろしくお願いします。

  • 【初心者です】VB.NETとASP.NET、何が違う?

    今までASPでWeb開発を行っていた者です。 最近顧客の方で「Microsoft Visual Basic .NET Standard Version 2003」を 購入したらしく、これからはVB.NETでWeb開発することとなりそうです。 そこで、.NETについて疑問点があります。 (1)VB.NETで、Web画面の開発って可能なのでしょうか?  私は過去にVB6.0で開発を行ったことがあったのですが、  VB6.0ではWindowsのアプリケーションを作成するための開発ソフト  だと思っていたのですが、VB.NETからはWindowsのアプリケーションだけでなく、  Web画面も開発可能になったということでしょうか? (2)「Visual Studio .NET 2003」の内容は、、、   ・ Visual Basic .NET 2003   ・ Visual C# .NET 2003   ・ Visual C++ .NET 2003   ・ Visual J# .NET 2003  になってますが、何故ASP.NETが入ってないのでしょうか?  (そもそも、ASP.NETの開発ツールは無いのでしょうか?) 考えれば、考えるほどわからなくなりそうです。 どうぞ、宜しくお願い致します。

  • Web上のmdbへの接続

    Webサーバーやデータベースについてほとんど知識がないので、的外れだったらスミマセン。 VBやAccessで作ったアプリケーションで、Webサーバー上においたmdbファイルに接続するにはどのようにすれば良いのでしょうか? 過去スレで ■データベース → SQL Server ■Web サーバ → IIS ■開発 → Visual Web Developer という回答があったのですが、 いずれも全くタッチしたことがないので、出来れば、 ■データベース → mdb(Access) ■Web サーバー → よく分からないのですが、 HomePageに使用しているocnのサーバー ■開発 → Visual Basic が出来れば、大変ありがたいのですが。 これって、可能なのでしょうか。とんちんかんで恐縮です。

  • ウェブアプリケーション開発の定番は何ですか?

    データベースと連携したショッピングカートのウェブアプリを開発しようと思います。 自分は、今までウェブアプリを開発したことはなく、Access(VBA)とSQLServerによるデータベースシステムの開発経験しかありません。 VBの開発経験があるという事で、ASP.NETをVB.NETでプログラミングを考えましたが、VBとVB.NETは言語体系が異なるのと、またVB.NETが将来的に普及せず人気がなくなるか不安です・・・。 一番不安なのが、せっかく勉強して覚えた言語が、不安定だったり、あまり役に立たなかったり将来的に人気がなくなってしまう事です。 聞くところによると、JAVAとORACLEの組み合わせが定番というか需要が多いと聞きますがPHPもいいかなと思います。 以下の条件に当てはまるものでオススメの【開発言語】と【データベース】を教えてください。 ★OSはWINDOWS SERVERのみ。 ★開発言語は、とにかく将来的に人気がある言語がいいです。ただし、C言語は難しそうなので避けます。 ★データベースはSQL SERVERを使用。ただし、オラクルの方が将来性があってパフォーマンスもずっと良くて今後も人気があるということであればオラクルを選択します。 ★WEB SERVERはIISのみ。アパッチにGUIがあってマニュアル本も充実してて扱いが難しくないならアパッチを選択します。 また、VB2005というのは.NETの表示がありませんが、言語体系的にVB.NETの後継ではなくVB6の後継と考えていいのでしょうか? よろしくお願いします。

  • これから始めますが、VB6.0はもう流通してないのですか?

    これからVBを始める初心者です。 現状、MS AccessのデータベースとVB6.0で売上管理・顧客管理・受注管理などのシステム運用をしていますが、カスタマイズしようと思っています。 しかし、VBの経験が無いので一からのスタートです。 ネットで調べたところ、VB6.0は流通していないようで、VB.NETでカスタマイズするしか無いようです。 カスタマイズするシステムは将来的にWebで操作できるようになれば嬉しいので、VB.NETは適していると思いますが、 このような場合、Microsoft Visual Basic .NETStandard Version 2003 を購入するだけでよいのでしょうか? Visual Studio .NET 2003 というのもあり、どのグレードのソフトを購入すれば良いのか良く分かりません。 アドバイスをお願いします。

  • よいサンプルはないでしょうか?

    自分は現在、Visual Studio 2003のASP.NETでデータベースはSQL Server 2000で開発を行っています。 それで、今サンプルを体験できる参考書またはサイトを探しているのですが、みなさま良い書籍があれば教えていただけませんか? http://asp.dataweb.ne.jp/text/demo.htm ぐらいのサンプルぐらいが理想です。 一応自分でも探してみたのですが↑の「ASPによるWebアプリケーションスーパーサンプル」なども考えたのですが、環境が違っておそらくできないだろうとのことでした。データベースもAccessが前提ですし、、、、。

  • Accessを編集するとASPで接続できなくなる

    AccessとASP(.NETではありません)で会社のイントラ上でWebデータベースを運用しています。 こちらは何も問題ないのですが、試験用で自宅のWinXP ProfessinalでIISサーバーを立ち上げLocal hostでASPを実行すると、始めは問題なくデータベースと接続できるのですが、データベース(Access)を編集すると全く接続できなくなってしまいます。データベースの名前を変えたり、保存場所を変えたり、ODBCでデータソース名を変えたり色々試行錯誤すると復活したりするのですが、Accessを編集する都度接続不能な状態になってしまいます。 原因は何でどう対処したら良いでしょうか?

  • VBを使ってる初心者です【SQL】【Access】

    VisualStudio2008で、Access2010のデータベースからデータ抽出を行えるアプリを作っています。 このときSQL文を用いてAccessからデータ抽出を行うんですかね? そもそもVisualStudio、SQL、Accessそれぞれがどのように関係しているのかわかりません。 いくつかサイトを見て回ったのですが・・・ 教えてほしいこと 1. データ抽出アプリを作るにあたってVisualStudio、SQL、Accessの各々がどのような役割を果たすか 2. Accessのデータベースの形式は空or Webどちらが有効なのか 3. VisualStudioでデータの抽出を行う方法 長くなりましたがよろしくお願いします。 開発言語はVBで、私自身は簡単なプログラムであれば理解できるレベルです

このQ&Aのポイント
  • 既婚男性が不倫を避けるために恋を終わらせようとする心情について
  • 既婚男性の内心や思考を知りたいという質問
  • 将来の思い出として残る女性への感情について
回答を見る