トップ回答者
クエリはなぜ保存できないの?

質問
回答
すべての返信
-
アクセスの選択クエリに相当するものは、一般的なデーターベースではVIEW(ビュー)が相当するでしょうか。
この辺りは、Visual Studioがどうこうではなく、一般的なデーターベースについて知る必要があります。
その上で、Visual Studioで対応する操作方法を、となります。
Visual Studioから操作するにはサーバーエクスプローラーのデータ接続でデーターベースに接続し、「ビュー」を右クリックして「新しいビューの追加」辺りでしょうか。
でもVIEWを作るべきか、それとも不要なのかはやはり一般的なデーターベースについて勉強して判断してください。
# .sqlファイルでもいいような気もしますが保存先が違うから…。 -
Access の話でしたか。最近全く使ってないので判りませんでした。
Visual Studio 自体は 「開発ツール」 であって、「データベース管理ツール」ではありませんから、ある意味仕方ないと思います。
ちなみに私は、仮に DB が SQLServer であれば、「SQLServer Management Studio」、
MySQL であれば 「Navicat」 等、対象となる DB に応じて使うツールを使い分けて使ってます。
でも 以前わんくまの勉強会で見たのですが、
「Oracle」 であれば、oracle developer tools for visual studio なるものがあり、
これなら Visual Studio 上から Oracle データベースに対する全ての操作ができるようですね。
Visual StudioからOracle Databaseを使い倒す! -
ACCESSではクエリとして名前を付けて保存ができます。
Accessはそれ自体がデータベースソフトですが、Visual StudioはIDE(統合開発環境)でありデータベースソフトではありません。Visual Studioはデータベースありきのアプリケーションを作るためのものではないのです。したがって、Accessに相当するものは、Visual Studio + データベースになります。
VISUAL STUDIOにはそれがありません。
よって、Accessのクリエに相当するものはVisual Studioではなくデータベース側に存在することになります。Viewやストアドプロシージャなどがそれに相当するでしょう。
★良い回答には回答済みマークを付けよう! わんくま同盟 MVP - Visual C# http://blogs.wankuma.com/trapemiya/ -
-
あくまで、補足として聞いてください。
MS-Access は非常に高性能なツールで、データベースのいろいろな要素を透過的に・・・つまり、自然に扱えるような細工をいたるところで提供しています。選択クエリも、そんな機能の中の1つです。
Access の選択クエリには SQL-View という表示形式があるかと思います。この機能を使うと MS-Access の選択クエリを SQL 文として表示することができます。しかし、この SQL-View で表示される SQL 文が選択クエリのすべてではありません。MS-Access の選択クエリは、この SQL 文を元にして作成されますがそれ以上に便利な機能を色々と持っています。たとえば、選択クエリ自身をデータソースのように扱ったり、選択クエリの SQL 文の結果に対して SQL では表現できない関数を実行したり、クエリとクエリの間を結合したりできます。
こういった MS-Access の高機能な部分から、SQL-View で表現できる SQL 文の部分だけを抽出し、まったく機能を追加していない部分を表現しているのが ADO.NET の (=Visual Studio の) クエリです。
アツシさんが、Visual Studio をどのように操作してクエリを作成し、どのような画面をみて保存できないと思われているかにもよりますが、この Visual Studio のクエリは、文字列として任意の手段で保存しておくことができ、必要に応じて実行することもでき、実行結果を自由に加工することができます。MS-Access は、この「保存」「実行」「結果の加工」の手段を、MS-Access というアプリケーションによって定められた手段で実行しているにすぎません。
つまり、アツシさんが MS-Access と同じように保存し、MS-Access と同じように実行し、MS-Access と同じように加工する手段をプログラミングすれば、それは MS-Access の選択クエリと同じように使えるようになるでしょう。逆に、アツシさんが MS-Access の選択クエリではできないことをプログラミングすれば、それは MS-Access より便利なよりよいものにもなりえます。
MS-Access が商品として売られ、多くの人に便利に活用されているのは、そういった肉付けは労力がかかり、十分に商品足りえるからです。逆に Visual Studio で開発されるということは、MS-Access にはない何かを求めておられるのではないかと思います。場合によっては、Visual Studio から作成されたアプリケーションから、MS-Access 経由で SQL Server に接続することだって可能です。