第2回 初心者向けASP.NET勉強会ログ | ASP.NET勉強会

第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"