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