• ベストアンサー

VBでSQL

題の通りなのですが VBでSQLサーバ上のデータベースを操作したいのです 接続はできたのですが、 SQL文をVB上で実行するやり方がわかりません いろいろ試してみたのですが、 オブジェクトがないとか言われてしまいました。 初心者なので意味がよくわからず困っています。 アップデート、インサートなどをします。 本当に困っています。 よろしくお願いします。

  • hell
  • お礼率16% (41/243)

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

  • ベストアンサー
  • Chika-F
  • ベストアンサー率60% (6/10)
回答No.3

こんにちは! 接続方法が記載されていないので ADOでの簡単な説明をします。 'オブジェクト変数の宣言 Dim rstTMP As ADODB.Recordset Dim cmd As New ADODB.Command 'SQL接続 ' 接続文とその他処理を記述 'SQLコマンド作成  With cmd   .CommandText = "Select * From テーブル名"   .CommandType = adCmdText  End With 'SQL文実行/レコードセット取得  Set rstTMP = cmd.Execute '以下 rstTMPで処理を記述 といった感じです。 あとは、SQL文を必要に応じて工夫して記述して 下さい。非常に広い可能性があると思います。 頑張ってください。

hell
質問者

お礼

ありがとうございました

その他の回答 (2)

  • yuizuian
  • ベストアンサー率42% (103/245)
回答No.2

MSDNはお持ちですよね? ConnectionStringで検索して、いろいろ調べてみてください。 VBからADOやDAOでデータベースを操作するのに参考になるサイトをご紹介しますね。 頑張ってください(^^)

参考URL:
http://homepage2.nifty.com/inform/vbdb/
hell
質問者

お礼

皆さんのおかげで何とかなりそうです。 m(__)m

回答No.1

ADOの場合だと、ConnectionオブジェクトでExecuteメソッドを使えば直接SQL文を実行できたと思います。

関連するQ&A

  • VBでSQL

    SQLでテーブル1に該当レコードがなければインサート あればアップデートをする処理をしたいのです IF ??? THEN UPDATE テーブル1 SET SELECT * FROM テーブル2 WHERE 条件 ELSE INSERT INTO テーブル1(SELECT * FROM テーブル2) END IF ???はプライマリキーで判定をしようと考えています こんな感じでやろうとしたところ うまくいきませんでした VB上で実行しよううとしているからなのでしょうか? ADOでSQLサーバに接続しています 条件分岐もどういう条件(VBでの書き方)がわからないです。 よろしくお願いします。

  • レコードセットの値 SelectとINSERT,UPDATE,Deleteで異なる?

    VB6でSQL Server2005をADOでアクセスしていますが、基本的なことですが、SELECT文の場合はrs.closeしてもエラーになりませんが、INSERT,UPDATE,DELETEの場合は、rs.closeとすると、 実行時エラー3704 オブジェクトが閉じている場合は、操作は許可されません。 というエラーメッセージが表示されます。 SQLは以下のように実行しています。 Call rs.Open(cobSQL.Text, cn, adLockOptimistic) VB6でSQL SERVER2005(もしくは2000)でデータベースアプリを作成するのに参考になる良書などご存知でしたら教えてください。 また、VB6でADOは、ネイティブにSQL Server2005にアクセスできるのでしょうか?まだADOやデータベースの概念が良くわかっていないため、質問自体がおかしいかもしれませんが、VB6で高速にSQL SERVER 2005で処理させたいのが私の現時点での目標です。

  • VBでSQLサーバーへ接続できない

    WVD2008ではSQLサーバーへ接続できて、データも表示できるのに、 VB2008からは最初の設定画面がわかりません。 添付の図は 右:WVD 左:VB です。 WVDは データソース:Microsoft SQL Server (SqlClient) サーバー名:○○○\SQLEXPRESS データベース名:master と入力しテスト接続すると「成功」します。 しかしVBは データソース:Microsoft SQL Server Compact 3.5 データベースファイル名:○○○\SQLEXPRESS もしくは データソース:Microsoft SQL Server データベース ファイル (SqlClient) データベース:○○○\SQLEXPRESS と入力しテスト接続すると「見つかりません」となります。 アクセスへなら データソース:Microsoft Access データベース ファイル (OLE DB) データベースファイル名:C:\\Desktop\Documents\○○○.mdb として接続できます。 接続できないというよりもVBにおいてのSQLサーバーへの設定方法がわかりません。 VBにて サーバー名:○○○\SQLEXPRESS データベース名:master へ接続したい場合はどうすればいいでしょうか? ご教授よろしくお願い致します。

  • VBとsql serverを使ってデータベースを操作したいと思って、

    VBとsql serverを使ってデータベースを操作したいと思って、 sql server management studioをインストールしたんですが、 Accessと違って何が何やら分からず、テーブルの作成すらできません。 最初に登録済みサーバを見ると、 自分のコンピュータ名\sqlexpless という名前のサーバらしきものがあり、 こんなサーバ作った覚えないぞ、デフォルトで作られるのかな? と思って右クリックから削除したんですが、 そのあと「オブジェクトエクスプローラを接続」を選択すると、さっきの名前のサーバが入力されてて、 接続を押したらなぜか復活していました。 意味が分からなかったので削除は諦め、新しくサーバを作ろうと「新規サーバの登録」から、適当に名前をつけてテストボタンを押したんですが、画像のようなエラーが出てきました。 見ても解決できなかったので諦めて、最初もともとあったサーバを使って新しくデータベースを作成しようとすると今度は、 CREATE DATABASE 権限が拒否された とのエラーが発生します。もう何もできなくなってしまいました。 お時間がよろしければ、インストールした直後からオリジナルのサーバとデータベースを作成して、テーブルの作成あたりまでを解説していただけないでしょうか。

  • VB6+SQL サーバー 2000 で 実行時エラー '3704' がでます:

    VB6 + SQL サーバー 2000 でDB接続を行っていますが リストのように SELECT 文の後にInsert 文を実行しようとし Re.Closeを実行すると ------------------------------------------------------------- 実行時エラー '3704': オブジェクトが閉じている場合は、操作は許可されません -------------------------------------------------------------  とエラーになり、連続するSQL文を実行する場合のopen ,Close は どのように書けばよろしいのでしょうか。  ネット上で見つけた資料によるとメソッド RE.CancelUpdate を使うと ありましたがこれもエラーとなります。 どなたか 教えていただけないでしょうか。 --- sample ---------------------------------------- Dim Cn As New ADODB.Connection Dim Re As New ADODB.Recordset Connect = "" Connect = "Provider = SQLOLEDB;" _ & "Data Source = サーバー;" _ & "User ID = sa;" _ & "Password = パスワード;" _ & "initial Catalog = database;" ' Cn.Open Connect ' strSQL = "SELECT * from DBTBL WHERE CODE = '000001'" Re.Open strSQL, Cn, adOpenKeyset 'SQL文を実行 Re.Close ' strSQL = "Insert Into MAS1PF (CODE,NAME,TEL,FAX) Values('11111','名前','TEL,'FAX)" Re.Open strSQL, Cn, adOpenKeyset 'SQL文を実行 ' Re.Close Cn.Close

  • VBでSQL-serverをプログラムする

    VBでmdbファイルを操作するプログラムを勉強していますが、データベースをサーバー管理するならば、AccessではなくSQL-serverなどを使った方が良いと聞きました。 質問なんですが、 SQL-serverには、Accessと同じようにユーザーフォームを使ってデータベースシステムを構築するような機能が付いているのでしょうか? そもそもOracle、dBase、SQL-serverといったデータベースソフトは、DBそのものを作成するソフトであって、DBシステムを構築するにはVBなどによるプログラム開発が必要なのでしょうか? 分かりにくい質問ですみません。

  • VBとSQLで、、、、

    私は最近ソフトウェアの開発に携わることになりました。 私自身プログラミングの経験は全くありません。 何を命じられたのかといいますと、VBとSQLをつかって、サーバー上の  データベースにクライアントからアクセスして、ほしいデータだけをもってくる  業務を支援するようなソフトを作るのです。 例えば、ユーザーが日付の範囲だけをいれると、その間に店を訪れた人のすんでい  る地域別、さらにそのお客の年代別で何人いるのかというようなものが  ボタンひとつでだせるようなものなんです。 まったく知識がなくてとりあえずVBの基本とSQLコマンドの本を片手に  やっています。(あと、アクセスでおおよそのデータベースについて学びまし  た) で、結局何がいいたいのかと申しますと、VBとSQLを利用したデータベースの  構築に関する良い文献を紹介していただきたいのです。 VBは初心者なのでとりあえず、それようのものを。 あと、ストアドというものを駆使するらしいので、それについての詳しい本を  紹介してください。サイトなんかでもよいです。 それでは、よろしくお願い致します。  (多分、質問の内容もわけのわからないことを言ってるかもしれません^^;)

  • VB.NETとACCESSについて

    VB.NETを使ってACCESSデータベースに入っているレポート(印刷プレビュー)を呼び出して印刷したいのですが、どうしたらいいかわかりません。VB.NETでデータベースに接続してSQLのinsert文でデータを追加することはできます。その後、VB.NETでデータベースに入っているものを印刷するにはどうしたらいいのでしょうか?ACCESSでレポートは作ってあります。どなたか教えていただけないでしょうか?

  • VB2005でSQL Server新規データベース作成

    VB2005からプログラムを使って、SQL Server2005のデータベースを新規に作成する方法を探しています。よくVB2005からプログラムを介して、SQLサーバーに接続する方法は見かけるのですが、新規にデータベースを作成するサンプルにお目にかかれません。 資料を見ながら「SqlCeEngine」等を使って試行錯誤しながらやってはいるものの、「定義されていない」とかエラーになってしまって・・・ VB2005もSQL Server2005もお初なのでパニック状態です。 先ずはサンプルプログラム等あれば参考にしたいのですが何方か教えて頂けないでしょうか。宜しくお願いします。

  • VB.NETでSQL server の操作

    VB.NETにて主に帳票ソフトを作成しているのですが、使用しているデータベースがアクセスなので容量が大きくなると処理がスムーズに行かないため、Microsoft SQL server の導入を考えています。そこで、VB.NETよりSQL serverを操作するコーディングについて説明されているおすすめの参考書などはないでしょうか?宜しくお願いします。(因みに VisualBasic2008, SQL server 2008 です)

専門家に質問してみよう