• ベストアンサー

VB2005でDB接続

勉強で、VB2005でAccessDB接続するプログラムを作成しています。 目的は商品コードを入力すると、DBに売上げが計上され、今日の売上げ内訳一覧を表示する、ごくシンプルな練習用プログラムです。 基本的なコーディングは大丈夫ですが、教科書では非接続型・デザイナでのせてあり、VBサンプル集では接続型・非デザイナで、ややこしく混乱して、理解できずに困っています。何がどう違うんでしょうか。お願いいたします。

noname#147912
noname#147912

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

  • ベストアンサー
  • NOBNNN
  • ベストアンサー率50% (93/186)
回答No.1

VB.NET 2005 は基本的には 非接続型の接続方法です。 技術的に接続方法をみると DAO :Access などのMDB(Microsoft Jet DataBase) を操作する。 ODBC接続: ODBC経由で 他のDB(SQL SERVER)やデータソースを 操作する。 Access の場合はリンクして操作する。 ADO   : ODBC などを経由せず Microsoft ActiveX を用いて  接続する方法 ODBCよりパフォーマンス操作性が優れています ADO.NET : Microssoft .Net FrameWork を用いて接続する方法。      VB.NET 2005 などで使われています。      参考URL: http://e-words.jp/w/ADO2ENET.html これらのうち ADO.net 以外は 常時接続型です。 いいろな方法があります。 VB.net 2005 では ADO.NET で ODBCや MDB、SQL Server などの接続ができます。 また、VB.net 2005 でも TableAdapter で操作する方法が主体的に説明されている参考書が多いです。 他の方法もあります。 MDB を操作する場合は OleDataAdpter SQL Server を操作する場合は SQLDataAdpter があります。 MDBやODBC を操作する場合は OleCommand SQL Server を直接操作する場合は SqlCommand のクラスを用いて実装します。 使うクラスによって実装方法がぜんぜん違うので参考書を見る場合は注意が必要です。 VB.NET2005 では Tabladpter のツールボックスがデフォルトで設定されています。 OleDataAdpter や SQLDataAdpter はユーザーが自分で設定しないと表示されません。 「ツール」のメニューから設定 Tableadpter はDatasetなどをウイザードですべて設定してくれますので便利なのですがあとからDB項目の追加や変更を行うといったん消去してから再度ウイザードで作成しないとうまくいかない場合が多いです。 私の場合は簡単なものは TableAdpterをつかってますが 細かい複雑な方法を用いる場合はOleDataAdpter や SQLDataAdpter を使用しています。 これらの詳細はMSDNの解説に書かれています。 http://msdn2.microsoft.com/ja-jp/library/bz9tthwx(VS.80).aspx Google などで TableAdpterとは などでキーワード検索すれば わかると思います。

noname#147912
質問者

補足

ありがとうございます。助かりました。調べてみます

関連するQ&A

  • VB6 DBと連結しないDataGrid

    VB6の標準機能で、(行数可変の)一覧表示をするために、DataGridを使おうと思ったのですが、 どのサンプルを見ても、DBから取得したRecordSetをBindする方法しか載っていません。 そもそもVB6のDataGridとは、プログラム中でDB以外の情報を、挿入したり削除することって、出来ないのでしょうか? (行オブジェクトをAddするようなイメージです) よろしくお願いします。

  • dbへの接続について

    dbへの接続について Visual Basic2008でVBを勉強中の者です。初心者です。 SQL serverと接続するやりかたを参考書を頼りにコーディングして接続などは問題ないのですが、 プロシージャごとに毎回DBへの接続文字列を指定して接続して、、とやっているのですが何か 無駄なことしている気がしてきました。(同じコードが各フォームの各プロシージャにあるので) DBサーバの情報が変わったときなどもコードを修正するのが大変だと思いました。 こういう場合、何かいい方法はありませんでしょうか?

  • vb.netでSQL serverの接続を行うコーディング

    vb.net (vb 2005)でSQL serverの接続を行うコーディングがよくわかりません。 ADO,もしくはDAOを使うところまでわかったのですが、具体的なコーディングがわかりませんでした。 VBの教本とかではSQL serverではなくAccesへの接続だったので、どうコーディングしてよいか混乱しています。 (ADOの場合とDAOの場合の違い)

  • DBの接続について

    昨日も同じ質問したのですが また、助けてください DBの接続状態がしりたいのですが DBの接続状態を認識させるために If OraDatabase.State = adStateClosed Then DB_Connect End If ってコーディングいたしました が、一行目でエラー発生でその後の処理が 通りません DB接続部はこんな感じです。 Private Sub DB_Connect() On Error GoTo ERR Set OraSession = CreateObject("OracleInProcServer.XOraSession") Set OraDatabase = OraSession.OpenDatabase("ALARM", "ALARM/SHINKO", 0&) End Sub どうか助けてください お願いします 開発環境VB6.0 DBはオラクル9iです

  • DB2の接続エラー

    はじめまして。 現在、Tivoli(MAXIMO)で使用しているDB2を自分のクライアント端末からDB2に接続し、VBで帳票を作ろうとしています。 しかし、DB2へ接続しようとすると、エラーとなります。 エラー内容は。 実行時エラー'2147217887(80040e21) CLI0124E 引き数の値が無効です。SQLSTATE=HY009となります。 DB2のランタイムクライアントをインストールしているので、ODBCには問題がないと思います。 接続のところで、エラーとなるようです。 コーディングは以下のようにしております。 strSQL = "select * From TICKET" ' 接続 cn.Open "Provider=IBMDADB2;DSN=MAXIMO.TICKET;UserID=user名;Password=password;" Set rs = cn.Execute(strSQL) DB2のバージョンは9 以上、よろしくお願いいたします。

  • VBとACCESSを接続したい

    VBの画面からACCESSのテーブルを取得したいのですが どういうふうに記述すればいいかわかりません。 サンプルプログラムとともにおしえてください。 DAOというので接続したいと思っています。

  • どのプログラムがどのDBを使用しているか、という情報を取得したい

    sqlserver と vb.net(+バッチファイル) にてコーディングしています。 vbからバッチファイルを呼び出し、その中でDBのデタッチを行っているのですが、 「データベース '(DB名)' は現在使用中なので、デタッチできません。」 とのメッセージが出て、デタッチできません。 デタッチは、vbプログラムの中で SqlConnection を close・dispose した直後に行っています。 原因追究をしたいのですが、どのプログラムがどのDBを使用しているか 、という情報を取得することはできるでしょうか。 ご回答よろしくお願いします。

  • VB6の習得について

    現在、小さな会社で研究開発の仕事をしています。 これまでプログラミングの経験はないのですが業務の必要上、 既存のプログラム(VB6、約6000行)を修正、場合によっては 一から書き直すように指示がありました。これにあたって上司のスタンスですが、 ・たとえ初心者だとしても、「練習のためのコーディング」は業務時間には認めない  何らかの形で製品に反映されるコーディングのみを認める ・今後のメンテナンスのことも考えると、VBの6以降のバージョンは使ってはいけない  VB6の範囲で完結させるように ・そもそもコーディングとは好きな人、向いている人が、人から言われなくても  書くものだ、だから自宅で練習やコーディングをするのが当然だ ・お前ができないなら、外注に出す(今の私は契約社員なので、立場はかなり悪くなります) ある程度なら、自腹で開発環境を自宅におこうかとも思ったのですが、最新のVBならともかく VB6は私の知る限り、正規の方法でインストールは難しいようです。(できたとしても非常に高額) VB6を含めてVBをある程度マスターしたいという気持ちはあるのですが、今の状況で どのような手段がベストでしょうか? また、VB6でコーディングしたテキストと最新のVBとの互換性などはどのような関係にあるのでしょうか? ご教示のほど、よろしくお願いします。

  • DB接続時の設定解除

    こんにちは。 VB6・DBはACCESS2002という環境です。 「ユーザー/グループのアカウント」設定を行い、ACCESS ログオン時にパスワード入力を必要とさせていますが、こ の設定を行っているとDB接続ができません。プログラムか ら解除するにはどういう方法がありますか? よろしくお願いします。

  • ASPからDB2への接続方法

    タイトルのとおりですが、ASP(VBスクリプト)からDB2に接続する方法について色々と教えて下さい。 現在は以下のようなソースで”一応”接続できています。 Set objConn = CreateObject("ADODB.Connection") strConn = "DSN=testdb;UID=user;PWD=pass" objConn.Open strConn しかし動作があまりにもっさりしているので他の方法を検討したいのです。 ちなみに上記はADO接続?ODBC接続?なんでしょうか? Oracleのoo4oを使用した接続「CreateObject("OracleInProcServer.XOraSession")」 みたいな方法ってDB2にはないのでしょうか? またそれ以外でも使える方法、あるいはサンプルソースが載っているHP等ありましたら教えて下さい。 「?」ばかりで申し訳ありませんが宜しくお願いします。 尚、環境がまだはっきりしないのですが  WEBサーバ :Win2K          IIS5.0  DB     :DB2 Ver7~8(UNIX版) てな感じになるかと思います。 しかしながら上記のソースはDB2 Ver8 PE(Win版)で使ったテスト用なのです・・・。 宜しくお願いします。

専門家に質問してみよう