トップ回答者
SQLデータについて(初級)

質問
-
よくある、「データをSQLに取り込む方法」についての質問ですが、
1週間ほどこの掲示板で類似したものを見ていましたが、未だに理解できません。
やりたいことは、ごく簡単なことでありまして、あるテキストボックスに書かれた
データをSQLのDBに取り込み、それをGridViewに反映させることです。
ここで、DetailsViewというコントロールが有効であるということは分かったのですが、
これでは、中身がどうなっているのかさっぱりです。
また、FileUPLoadの中身などの結果をDBに取り込みたいという事もあります。
そこで、DetailsViewコントロールの挿入機能を、自分で書いてみたいと思ったのですが、
正直さっぱりです。
もしかするとSQLを勉強しないとやはり無理なのでしょうか?
(パラメータやSQLと思われる構文を見かけますので)
有効なメゾット等教えていただけると幸いです。
宜しくお願い致します。
回答
-
> もしかするとSQLを勉強しないとやはり無理なのでしょうか?
もしかしなくても、本を買って読んで勉強するとか、Web を見て勉強するとかして、基本的な知識をつけない
と、無理とは言わないまでも、かなり難しいと思いますが・・・すべてを実現できる魔法のメソッドはありませんが、SqlDataSource(使っているのは SQL Server ですよ
ね?)、DetailsView、GridView を使って、やりたいことは実現できると思います(FileUpload は別)。
まずは以下のサイトなどを見て勉強されることをお勧めします。DetailsView クラス
http://msdn.microsoft.com/ja-jp/library/system.web.ui.webcontrols.detailsview.aspx- 回答としてマーク ワカRUN 2009年7月1日 9:02
-
やりたいことは、ごく簡単なことでありまして、あるテキストボックスに書かれた
実現することは簡単なことでも、その背景にはいろいろな知識が必要になります。
データをSQLのDBに取り込み、それをGridViewに反映させることです。
もしかするとSQLを勉強しないとやはり無理なのでしょうか?
まずはデータベースを学ばれた方が良いでしょう。何か書籍で簡単でも一通り勉強されることをお勧めします。まずはどういうことがあるのかを知ってください。マスターしなくても知っていれば十分です。実際にプログラムを書くときに、その知識を糸口に調べていけば良いのですから。
(パラメータやSQLと思われる構文を見かけますので)
有効なメゾット等教えていただけると幸いです。
宜しくお願い致します。
データベースの操作はSQLという言語で行います。DetailsViewやGridViewなどのコントロールも、SQLをデータベースに発行することによってデータを取得したり、更新したりしているのです。
ウィザードに従えば以下のようにそれなりにDetailsViewを動かすことはできます。
ASP.NET 2.0 リッチ データ コントロールによるデータ アクセス ページの実装 その 2
http://msdn.microsoft.com/ja-jp/events/dd231276.aspx
しかし、DetailsViewはデータベースを操作するための窓口に過ぎません。例えならデータベースが車でDetailsViewがその車のハンドルです。操作はできても赤信号で止まらなかったり、右側通行してはいけません。データベースをどう操作すれば良いのかを学ばなければ、いつまでも小学生が車を運転しているようなものです。車を運転する時には交通ルールや運転の仕方などを知っていなければなりません。長くなりましたが、結局何が言いたいかといいますと、何となく動けば良いというものではなく、その背景を知らないと失敗するし(必ずしも失敗することが悪いことだとは思いませんが)、壁を乗り越えられなくなってしまうんじゃないかと思うのです。
#ちなみに「SQL」という単語の使い方がおかしいです。
>よくある、「データをSQLに取り込む方法」についての質問ですが
や
>データをSQLのDBに取り込み
です。
ここのSQLはSQL Serverのことを指していると思われますが・・・
ちなみに
>有効なメゾット等教えていただけると幸いです。
は、メソッドですね。もう少し基礎を固めて下さい。前述したDetailsViewのウイザードなど、ウイザードを使ってそれなりに動くものは作成できますが、ウイザードだけで実際のアプリケーションを作成できることは極めて稀です。ですから自力でコードを書くための基礎が必要になるのです。
★良い回答には回答済みマークを付けよう! わんくま同盟 MVP - Visual C# http://blogs.wankuma.com/trapemiya/- 回答としてマーク ワカRUN 2009年7月1日 9:02
すべての返信
-
> もしかするとSQLを勉強しないとやはり無理なのでしょうか?
もしかしなくても、本を買って読んで勉強するとか、Web を見て勉強するとかして、基本的な知識をつけない
と、無理とは言わないまでも、かなり難しいと思いますが・・・すべてを実現できる魔法のメソッドはありませんが、SqlDataSource(使っているのは SQL Server ですよ
ね?)、DetailsView、GridView を使って、やりたいことは実現できると思います(FileUpload は別)。
まずは以下のサイトなどを見て勉強されることをお勧めします。DetailsView クラス
http://msdn.microsoft.com/ja-jp/library/system.web.ui.webcontrols.detailsview.aspx- 回答としてマーク ワカRUN 2009年7月1日 9:02
-
やりたいことは、ごく簡単なことでありまして、あるテキストボックスに書かれた
実現することは簡単なことでも、その背景にはいろいろな知識が必要になります。
データをSQLのDBに取り込み、それをGridViewに反映させることです。
もしかするとSQLを勉強しないとやはり無理なのでしょうか?
まずはデータベースを学ばれた方が良いでしょう。何か書籍で簡単でも一通り勉強されることをお勧めします。まずはどういうことがあるのかを知ってください。マスターしなくても知っていれば十分です。実際にプログラムを書くときに、その知識を糸口に調べていけば良いのですから。
(パラメータやSQLと思われる構文を見かけますので)
有効なメゾット等教えていただけると幸いです。
宜しくお願い致します。
データベースの操作はSQLという言語で行います。DetailsViewやGridViewなどのコントロールも、SQLをデータベースに発行することによってデータを取得したり、更新したりしているのです。
ウィザードに従えば以下のようにそれなりにDetailsViewを動かすことはできます。
ASP.NET 2.0 リッチ データ コントロールによるデータ アクセス ページの実装 その 2
http://msdn.microsoft.com/ja-jp/events/dd231276.aspx
しかし、DetailsViewはデータベースを操作するための窓口に過ぎません。例えならデータベースが車でDetailsViewがその車のハンドルです。操作はできても赤信号で止まらなかったり、右側通行してはいけません。データベースをどう操作すれば良いのかを学ばなければ、いつまでも小学生が車を運転しているようなものです。車を運転する時には交通ルールや運転の仕方などを知っていなければなりません。長くなりましたが、結局何が言いたいかといいますと、何となく動けば良いというものではなく、その背景を知らないと失敗するし(必ずしも失敗することが悪いことだとは思いませんが)、壁を乗り越えられなくなってしまうんじゃないかと思うのです。
#ちなみに「SQL」という単語の使い方がおかしいです。
>よくある、「データをSQLに取り込む方法」についての質問ですが
や
>データをSQLのDBに取り込み
です。
ここのSQLはSQL Serverのことを指していると思われますが・・・
ちなみに
>有効なメゾット等教えていただけると幸いです。
は、メソッドですね。もう少し基礎を固めて下さい。前述したDetailsViewのウイザードなど、ウイザードを使ってそれなりに動くものは作成できますが、ウイザードだけで実際のアプリケーションを作成できることは極めて稀です。ですから自力でコードを書くための基礎が必要になるのです。
★良い回答には回答済みマークを付けよう! わんくま同盟 MVP - Visual C# http://blogs.wankuma.com/trapemiya/- 回答としてマーク ワカRUN 2009年7月1日 9:02
-
-
すいません。
いろいろと見ていたところ、InsertCommand文という例文があったので、
真似してみましたが、以下のようなエラーが出てきました。
何か心当たりのある方がいましたら宜しくお願い致します。
SqlDataSource1.InsertCommand = "INSERT INTO Table2 VALUES (@日付,@写真,@コメント)"
SqlDataSource1.InsertParameters.Clear()
SqlDataSource1.InsertParameters.Add("日付", DateTime.Today.ToString())
SqlDataSource1.InsertParameters.Add("写真", UpFolder_URL + FileUpload1.FileName)
SqlDataSource1.InsertParameters.Add("説明", Comment.Text)
SqlDataSource1.Insert()
説明: 現在の Web 要求を実行中に、ハンドルされていない例外が発生しました。エラーに関する詳細および例外の発生場所については、スタック トレースを参照してください。
例外の詳細: System.Data.SqlClient.SqlException: スカラ変数 "@コメント" を宣言してください。
ソース エラー:
ハンドルされていない例外を生成したソース コードは、デバッグ モードでコンパイルされた場合のみ表示できます。これを有効にするには、以下の手順に従い、URL を要求してください。
1. "Debug=true" ディレクティブをエラーを生成したファイルの上に追加してください。例:
<%@ Page Language="C#" Debug="true" %>
または:
2. 以下のセクションをアプリケーションの構成ファイルに追加します。
<configuration>
<system.web>
<compilation debug="true"/>
</system.web>
</configuration>
2 番目の方法を使った場合、指定されたアプリケーション内のすべてのファイルがデバッグ モードでコンパイルされます。最初の方法を使った場合は、指定した特定のファイルのみがデバッグ モードでコンパイルされます。
重要: デバッグ モードでアプリケーションを実行してもメモリおよびパフォーマンスのオーバーヘッドが発生します。製品シナリオに配置する前にアプリケーションでデバッグが無効にされていることを確認してください。'/WebSite8' アプリケーションでサーバー エラーが発生しました。
スカラ変数 "@コメント" を宣言してください。
-
いつもお世話になります。
SQL については、始めたばかりであり、先日SQL Server にデータを書き込むプログラムを
VBで書けることを知りました。
教えていただきたいのですが、データを削除するにはどのような構文を買えばよろしいのでしょうか?
GridView で、削除ボタンを追加したのですが、ここでの「削除」ボタンを押した場合の
構文が分かりません。whereの後にどのような条件を入れればよろしいのでしょうか?
宜しくお願い致します。
列スキーマは、日付、写真、説明の3つです。
(*前回の質問事項参照)
SqlDataSource1.DeleteCommand = "DELETE FROM Table2 WHERE ???"SqlDataSource1.Delete()
-
かなり基本的な質問ですので、まずは以下のページなどを一通り読まれることをおすすめします。
さらっと覚えるSQL&T-SQL入門(8)
SQL文でデータを追加・更新・削除する方法
http://www.atmarkit.co.jp/fdb/rensai/tsql08/tsql08_2.html
★良い回答には回答済みマークを付けよう! わんくま同盟 MVP - Visual C# http://blogs.wankuma.com/trapemiya/ -
そういうことだったんですね。失礼いたしました。すいません。
さて、どのようにGridViewを表示されているのかわからないのですが(ButtonFieldの使用など)、とりあえず以下をご紹介します。
[ASP.NET]GridViewコントロールにコマンド・ボタンを配置するには?(応用編)[2.0、3.0、3.5、C#、VB]
http://www.atmarkit.co.jp/fdotnet/dotnettips/830aspgridvwcmdbtn2/aspgridvwcmdbtn2.html
★良い回答には回答済みマークを付けよう! わんくま同盟 MVP - Visual C# http://blogs.wankuma.com/trapemiya/