SQL文実行方法

解決


Sigma  2009-03-21 22:24:43  No: 141707  IP: 192.*.*.*

環境は  WindowsXP+VisualStudio2005-Pro  です。

現在は、下記のような手順で

  'データベース接続内容設定
  dbcon.ConnectionString = _
     "provider=Microsoft.Jet.OLEDB.4.0;" & _
     "Data Source= C:\Data.mdb "
  'データベース接続開始
  dbcon.Open()
  'データのSelectコマンドをセット
  dbcmd.CommandText = "Select * from Data01"
  'コマンドとコネクション設定
  dbcmd.Connection = dbconUsen
  'データアダプタにセレクトコマンドを設定
  dbadpt.SelectCommand = dbcmdUsen
  'データセット初期化
  datset.Tables.Clear()
  'データセットに作詞作曲家データを入れる
  dbadpt.Fill(datsetUsen, "Data01")
  ’いろいろテーブルを加工
  ・・・・・・・・
  ’更新
  dbadpt.Update(datsetUsen.Tables(0))

で書き換えや追加ができています。

ただ、わざわざDataTableに抽出せずにひとつのSQL文だけで
すむものも出てきました。

dbcon.Open()
で接続が確立しているものに対して簡単にSQLを実行できる
方法はないでしょうか?

#WEBで検索するとAccess上でのDocmdは多く見つかりますがVB.NET
#においての応用例が見つかりませんでした。

編集 削除
YuO  2009-03-22 01:37:57  No: 141708  IP: 192.*.*.*

CreateCommandしてExecuteNonQueryとか,ExecuteScalerとかでしょうか。

・System.Data.IDbConnection.CreateCommand
http://msdn.microsoft.com/ja-jp/library/system.data.idbconnection.createcommand(VS.80).aspx
・System.Data.IDbCommand.ExecuteNonQuery
http://msdn.microsoft.com/ja-jp/library/system.data.idbcommand.executenonquery(VS.80).aspx
・System.Data.IDbCommand.ExecuteNonScaler
http://msdn.microsoft.com/ja-jp/library/system.data.idbcommand.executescalar(VS.80).aspx

場合によっては,ExecuteReaderかもしれませんが,読み取りのみを目的とするのでなければ,DataSet使った方が楽でしょう。
・System.Data.IDbCommand.ExecuteReader
http://msdn.microsoft.com/ja-jp/library/68etdec0(VS.80).aspx

編集 削除
Sigma  2009-03-22 10:10:14  No: 141709  IP: 192.*.*.*

ありがとうございました。

・System.Data.IDbCommand.ExecuteNonQuery
という方法で実現できました。

編集 削除