第2回 初心者向けASP.NET勉強会ログ
第2回はTwitterもどきのアプリケーションを作成しました。
デモ内容はこちら。
RepeaterコントロールとSqlDataSourceを接続することでSQLServerからデータを取得し画面に表示するアプリケーションを実現。
通常は、SELECT文を書いて、それを1行ずつ取得し画面表示を行うが、ASP.NETはそんなことはせずにコントロールを接続するだけでできてしまう。
1. SQLServerの基礎講座
途中、SQLServerに関する簡単な説明を行った。
データベースの型はざっくり言うと3つしかない。
・文字列型(Varchar, NVarchar, Charなど)
・数値型(Number, intなど)
・日付型(Date, Datetime, Timestampなど)
(Question) 同じ文字列でもいくつもあるが使い分けはあるのか?
(Answer) Charは固定長なので4byteで取った場合に3byte入っている場合でも4byte取得され1byte分はスペースで取得されてしまう。varcharは可変長なので同じく4byteで取って3byte入っている場合は普通に3byte取れる。nがついている場合(nchar, nvarchar)はbyteではなく文字数で取る。なのでnvarchar(5)であれば5文字分取る。半角、全角関係なく1文字は1文字の扱いとなる。
2. コードビハインド
aspxに直接、SQL分を書くことを説明したことに対する質問。
<asp:SqlDataSource ID="SqlDataSource1" runat="server"
SelectCommand="SELECT * FROM [TwitterTbl] ORDER BY [送信日時] DESC"
</asp:SqlDataSource>
(Question) aspxに直接、SQL文が書かれているが、画面の入力等によって条件を記述するにはどうしたらよいか?
(Ans) aspxでコントロールを定義すれば、vbファイルにも記述できる。つまり以下のように記述が可能。
SqlDataSource1.SelectCommand = "SELECT * FROM [TwitterTbl] ORDER BY [送信日時] DESC"
デモ内容はこちら。
RepeaterコントロールとSqlDataSourceを接続することでSQLServerからデータを取得し画面に表示するアプリケーションを実現。
通常は、SELECT文を書いて、それを1行ずつ取得し画面表示を行うが、ASP.NETはそんなことはせずにコントロールを接続するだけでできてしまう。
1. SQLServerの基礎講座
途中、SQLServerに関する簡単な説明を行った。
データベースの型はざっくり言うと3つしかない。
・文字列型(Varchar, NVarchar, Charなど)
・数値型(Number, intなど)
・日付型(Date, Datetime, Timestampなど)
(Question) 同じ文字列でもいくつもあるが使い分けはあるのか?
(Answer) Charは固定長なので4byteで取った場合に3byte入っている場合でも4byte取得され1byte分はスペースで取得されてしまう。varcharは可変長なので同じく4byteで取って3byte入っている場合は普通に3byte取れる。nがついている場合(nchar, nvarchar)はbyteではなく文字数で取る。なのでnvarchar(5)であれば5文字分取る。半角、全角関係なく1文字は1文字の扱いとなる。
2. コードビハインド
aspxに直接、SQL分を書くことを説明したことに対する質問。
<asp:SqlDataSource ID="SqlDataSource1" runat="server"
SelectCommand="SELECT * FROM [TwitterTbl] ORDER BY [送信日時] DESC"
</asp:SqlDataSource>
(Question) aspxに直接、SQL文が書かれているが、画面の入力等によって条件を記述するにはどうしたらよいか?
(Ans) aspxでコントロールを定義すれば、vbファイルにも記述できる。つまり以下のように記述が可能。
SqlDataSource1.SelectCommand = "SELECT * FROM [TwitterTbl] ORDER BY [送信日時] DESC"
第2回 初心者向けASP.NET勉強会
Microsoft ASP.NETによるWebアプリケーション勉強会を開催します。
~ 対象者 ~
*メールフォームで質問・申し込みする
※メールアドレスの記入が必要です
*ATNDで質問・申し込みする
※ メールアドレスの記入が不要です。mixi, google,yahoo等のアカウントがあれば簡単に申込みできます
*twitterで質問・申し込みする
※ twitterアカウントが必要です。私宛にダイレクトメッセージを送ってください
*mixiで質問・申し込みする
※ 私宛にメッセージを送ってください。
~ 対象者 ~
- プログラミング未経験者
- Webプログラムの基礎知識を知りたい方
- PHP、Javaは分かるが.NET技術に興味のある方
- Visual Studio Web Developerを利用した簡単なアプリケーションを作成します。
動作確認するまでデモします。受講者も一緒に操作して感覚をつかんでください。 - Webアプリ、ASP.NETの基本的な考え方について説明します。
- 開催日時 : 8 / 8 (日) 18:30~20:30
- 場所 : 池上会館 小研修場
- 参加費 : 2,000円
- 持ち物 : ノートPC
※事前にVisual Studio Web Developerをインストール願います。インストール方法はこちら - 定員 : 10名
(8/5までに3名以上の申し込みがない場合は中止します)
お申し込み・お問合せは以下のいずれかを選択してください。
*メールフォームで質問・申し込みする
※メールアドレスの記入が必要です
*ATNDで質問・申し込みする
※ メールアドレスの記入が不要です。mixi, google,yahoo等のアカウントがあれば簡単に申込みできます
*twitterで質問・申し込みする
※ twitterアカウントが必要です。私宛にダイレクトメッセージを送ってください
*mixiで質問・申し込みする
※ 私宛にメッセージを送ってください。
第1回 初心者向けASP.NET勉強会ログ
開催日時:2010/7/25 18:30~20:30
参加者:3名
1. オウム返しアプリケーション解説
メッセージを入れたら返すだけのアプリケーションのデモを行った。
言語はVB.NETを選択。もちろんC#でもできるが、個人的にVB.NETに慣れているので。
(Question) "Dim"って何? (Ans) 変数を定義するときにつける宣言文。"Dim a As String" これから変数aを定義します。aは文字列(String)とします。という意味。今回は説明をしなかったが、メソッド(関数)内で変数を定義する場合は"Dim"が必要だがインスタンス変数(クラスの属性)についてはDimは使わない。Public a As StringとかPublic、Privateをつけるのが一般的。
2. ASP.NETの仕組みについての解説
ASP.NETの説明の前にWebの基本的な仕組みの話をした。WebはRequest-Responseが基本。
Webブラウザ(IEとか) ---Request--> Webサーバ
<--Response--
Requestはサーバのホスト(IPアドレス)、ポート番号、取得するファイル名を指定する。つまりURL。
http://ホスト名:ポート番号/xxxx/yyy.aspx(ファイル名)
Responseは単純に言えばhtml。実はこれしかできない。
(Question) Requestするときにブラウザに入力した情報は渡せないの?
(Ans)渡せます。方法は2つあって、GETとPOST。GETはURLに付加する。POSTはURLとは別に"おまけ"の項目として渡す。渡し方はKeyとValueのセットで送る。
[GETの場合]
http://hostname/xxx/yyy.aspx?AAA=BBB&CCC=DDD
[POSTの場合]
http://hostname/xxx/yyy.aspx
裏でおまけ項目(AAA=BBB&CCC=DDD)をサーバに渡す
※AAA、CCCがKey。BBB、DDDがValue
なので、Webは単純にhtmlを返すだけ。だからASP.NETは動的にhtmlを返している。
ASP.NETは以下の2つのファイルを使うだけ。
AAA.aspx
AAA.aspx.vb
ブラウザからはaspxを指定する。aspxはHTMLのひな形(デザイン部分)である。aspx.vbはボタン等を押したときのイベント定義。つまりこのイベントの中でaspxのコントロールの読み書きを行う。時にはデータベースへの接続も必要でしょう。(今回はオウム返しするだけなのでラベルに値をセットするだけ)ASP.NETはaspxとイベントの動作から動的にhtmlを作り上げる。
[イメージ]
AAA.aspx → ASP.NET → html → Webブラウザへ
AAA.aspx.vb
3. その他
(Question) 新しいプロジェクトと新しいWebサイトの違いは?
(Ans) 違いはほとんどない。新しいWebサイトはWebアプリだけを作れる。新しいプロジェクトはライブラリなどWebアプリではないものを作れる。
※後で調べてみましたが、Webサイトはサーバ上に直接、http指定でプロジェクトを作れるみたいです。デフォルトは[My Document]\visual studio 2010\WebSites\ 以下に作る。ソリューションファイルは
[My Document]\visual studio 2010\Projects 以下に作られる。プロジェクトの場合はすべて
[My Document]\visual studio 2010\Projects 以下に作られる。
Webサイトなので、httpを使ってサーバ上に構築するという意味合いが強いのでしょう。プロジェクトは
自分のマシンで作って作ったものをWebサイトにアップする。
一般的には後者なのでプロジェクトを作った方がよいでしょう。
(Question) ASP.NETとVB.NETは何が違うのか?
(Ans) VB.NETは言語で、ASP.NETはWebを作るための仕組みです。ASP.NETでサポートされている言語であれば、選択できる。つまり、ASP.NETアプリをVB.NETで作成する、というのが正しい。
VB.NET以外に、C#、J#(Java)などがある。
参加者:3名
1. オウム返しアプリケーション解説
メッセージを入れたら返すだけのアプリケーションのデモを行った。
言語はVB.NETを選択。もちろんC#でもできるが、個人的にVB.NETに慣れているので。
(Question) "Dim"って何? (Ans) 変数を定義するときにつける宣言文。"Dim a As String" これから変数aを定義します。aは文字列(String)とします。という意味。今回は説明をしなかったが、メソッド(関数)内で変数を定義する場合は"Dim"が必要だがインスタンス変数(クラスの属性)についてはDimは使わない。Public a As StringとかPublic、Privateをつけるのが一般的。
2. ASP.NETの仕組みについての解説
ASP.NETの説明の前にWebの基本的な仕組みの話をした。WebはRequest-Responseが基本。
Webブラウザ(IEとか) ---Request--> Webサーバ
<--Response--
Requestはサーバのホスト(IPアドレス)、ポート番号、取得するファイル名を指定する。つまりURL。
http://ホスト名:ポート番号/xxxx/yyy.aspx(ファイル名)
Responseは単純に言えばhtml。実はこれしかできない。
(Question) Requestするときにブラウザに入力した情報は渡せないの?
(Ans)渡せます。方法は2つあって、GETとPOST。GETはURLに付加する。POSTはURLとは別に"おまけ"の項目として渡す。渡し方はKeyとValueのセットで送る。
[GETの場合]
http://hostname/xxx/yyy.aspx?AAA=BBB&CCC=DDD
[POSTの場合]
http://hostname/xxx/yyy.aspx
裏でおまけ項目(AAA=BBB&CCC=DDD)をサーバに渡す
※AAA、CCCがKey。BBB、DDDがValue
なので、Webは単純にhtmlを返すだけ。だからASP.NETは動的にhtmlを返している。
ASP.NETは以下の2つのファイルを使うだけ。
AAA.aspx
AAA.aspx.vb
ブラウザからはaspxを指定する。aspxはHTMLのひな形(デザイン部分)である。aspx.vbはボタン等を押したときのイベント定義。つまりこのイベントの中でaspxのコントロールの読み書きを行う。時にはデータベースへの接続も必要でしょう。(今回はオウム返しするだけなのでラベルに値をセットするだけ)ASP.NETはaspxとイベントの動作から動的にhtmlを作り上げる。
[イメージ]
AAA.aspx → ASP.NET → html → Webブラウザへ
AAA.aspx.vb
3. その他
(Question) 新しいプロジェクトと新しいWebサイトの違いは?
(Ans) 違いはほとんどない。新しいWebサイトはWebアプリだけを作れる。新しいプロジェクトはライブラリなどWebアプリではないものを作れる。
※後で調べてみましたが、Webサイトはサーバ上に直接、http指定でプロジェクトを作れるみたいです。デフォルトは[My Document]\visual studio 2010\WebSites\ 以下に作る。ソリューションファイルは
[My Document]\visual studio 2010\Projects 以下に作られる。プロジェクトの場合はすべて
[My Document]\visual studio 2010\Projects 以下に作られる。
Webサイトなので、httpを使ってサーバ上に構築するという意味合いが強いのでしょう。プロジェクトは
自分のマシンで作って作ったものをWebサイトにアップする。
一般的には後者なのでプロジェクトを作った方がよいでしょう。
(Question) ASP.NETとVB.NETは何が違うのか?
(Ans) VB.NETは言語で、ASP.NETはWebを作るための仕組みです。ASP.NETでサポートされている言語であれば、選択できる。つまり、ASP.NETアプリをVB.NETで作成する、というのが正しい。
VB.NET以外に、C#、J#(Java)などがある。