C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[3]: C#でAccessに対してCREATE VIEWしたい


(過去ログ 75 を表示中)

[トピック内 4 記事 (1 - 4 表示)]  << 0 >>

■44630 / inTopicNo.1)  C#でAccessに対してCREATE VIEWしたい
  
□投稿者/ koh (1回)-(2009/12/14(Mon) 14:37:56)

分類:[C#] 

いつもお世話になっています。
VisualStudio 2005上のC#でAccessをいじってます。

SQLでデータ照会するためのメソッドを以下のように書きました。
public static DataTable GetDataTable(OleDbConnection oleConn, string sql)
{
 OleDbCommand com = new OleDbCommand(sql, oleConn);
 OleDbDataAdapter adapter = new OleDbDataAdapter(com);

 DataTable table = new DataTable();
 adapter.Fill(table);

 return table;
}
単純な照会なら、上記のコードで結果のテーブルを戻り値として取得できます。
しかし、以下のような副作用(って言うのかな...)があるようなSQLは処理できません。
 ・CREATE TABLE ほにゃらら
 ・UPDATE ほにゃらら
 ・INSERT INTO ほにゃらら
 ・など...

今、コネクション張ったaccdbにCREATE VIEWする必要が出てきたのですが、どうしたらよいのでしょう?
初歩的なことで恐縮ですが、よろしくお願いします。
また、上記のコードに関してのダメ出しも大歓迎です。
引用返信 編集キー/
■44631 / inTopicNo.2)  Re[1]: C#でAccessに対してCREATE VIEWしたい
□投稿者/ 魔界の仮面弁士 (1417回)-(2009/12/14(Mon) 14:42:44)
No44630 (koh さん) に返信
> 単純な照会なら、上記のコードで結果のテーブルを戻り値として取得できます。
> しかし、以下のような副作用(って言うのかな...)があるようなSQLは処理できません。

OleDbDataAdapter.Fill を使うのではなく、
OleDbCommand.ExecuteNonQuery を試してみてください。
引用返信 編集キー/
■44632 / inTopicNo.3)  Re[2]: C#でAccessに対してCREATE VIEWしたい
□投稿者/ koh (2回)-(2009/12/14(Mon) 14:49:26)
No44631 (魔界の仮面弁士 さん) に返信
> ■No44630 (koh さん) に返信
>>単純な照会なら、上記のコードで結果のテーブルを戻り値として取得できます。
>>しかし、以下のような副作用(って言うのかな...)があるようなSQLは処理できません。
>
> OleDbDataAdapter.Fill を使うのではなく、
> OleDbCommand.ExecuteNonQuery を試してみてください。

魔界の仮面弁士さん、コメントありがとうございます。
さっそくExecuteNonQueryに関するドキュメント読んでみます。
それでは、また後ほど...
引用返信 編集キー/
■44636 / inTopicNo.4)  Re[3]: C#でAccessに対してCREATE VIEWしたい
□投稿者/ koh (3回)-(2009/12/14(Mon) 15:19:17)
ExecuteNonQuery、まさに自分がやりたかった事でした。
魔界の仮面弁士さん、ありがとうございました。

ということで、報告するほどのものではありませんが、一応コードも書いておきます。
public static int SendSql(OleDbConnection oleConn, string sql)
{
 OleDbCommand com = new OleDbCommand(sql, oleConn);
 return com.ExecuteNonQuery();
}
注意すべきことは、コネクションが開いている必要がある、ということでしょうか。


重ねて、ありがとうございました。
解決済み
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -