void Page_Load(Object sender, EventArgs e) {
if (!Page.IsPostBack) {
// booksテーブルからpublishedフィールド昇順にデータを取得
SqlConnection db = new SqlConnection("Data Source=(local);User ID=sa;Password=sa;Persist Security Info=True;Initial Catalog=dotnet");
SqlCommand comm = new SqlCommand("SELECT isbn,title,publish FROM books ORDER BY published DESC", db);
db.Open();
// グリッドの選択行が変更されたタイミングで実行
void grid_Changed(Object sender, EventArgs e) {
SqlConnection db = new SqlConnection("Data Source=(local);User ID=sa;Password=sa;Persist Security Info=True;Initial Catalog=dotnet");
// 選択された行のISBNコードをキーにbooksテーブルを検索
SqlCommand comm = new SqlCommand("SELECT isbn,title,price,publish,published FROM books WHERE isbn=@isbn", db);
comm.Parameters.Add("@isbn", grid.SelectedItem.Cells[0].Text);
db.Open();
SqlDataReader reader_desc = comm.ExecuteReader();
Dim table As Hashtable
Dim reader As SqlDataReader
Sub Page_Load(sender As Object, e As EventArgs)
If Not Page.IsPostBack Then
' booksテーブルからpublishedフィールド昇順にデータを取得
Dim db As New SqlConnection("Data Source=(local);User ID=sa;Password=sa;Persist Security Info=True;Initial Catalog=dotnet")
Dim comm As New SqlCommand("SELECT isbn,title,publish FROM books ORDER BY published DESC", db)
db.Open()
' 取得したDataReaderオブジェクトを
' DataGridコントロールにバインド
reader = comm.ExecuteReader()
grid.DataBind()
db.Close()
End If
End Sub
' グリッドの選択行が変更されたタイミングで実行
Sub grid_Changed(sender As Object, e As EventArgs)
Dim db As New SqlConnection("Data Source=(local);User ID=sa;Password=sa;Persist Security Info=True;Initial Catalog=dotnet")
' 選択された行のISBNコードをキーにbooksテーブルを検索
Dim comm As New SqlCommand("SELECT isbn,title,price,publish,published FROM books WHERE isbn=@isbn", db)
comm.Parameters.Add("@isbn", grid.SelectedItem.Cells(0).Text)
db.Open()
Dim reader_desc As SqlDataReader = comm.ExecuteReader()
' 取得したDataReaderオブジェクトの内容を
' Labelコントロールに反映
If reader_desc.Read() Then
isbn.Text = reader_desc.GetString(0)
title.Text = reader_desc.GetString(1)
price.Text = reader_desc.GetInt32(2).ToString("#,#00円")
publish.Text = reader_desc.GetString(3)
published.Text = _
reader_desc.GetDateTime(4).ToString("yyyy年MM月dd日")
End If
db.Close()
' 一覧ビューを不可視、詳細ビューを可視状態に、それぞれ変更
listPlace.Visible = False
descPlace.Visible = True
End Sub
Sub link_Click(sender As Object, e As EventArgs)
' 一覧ビューを可視、詳細ビューを不可視状態に、それぞれ変更
listPlace.Visible = True
descPlace.Visible = False
End Sub
</script>
<html>
<head>
<title>PlaceHolderコントロールによる一覧/詳細画面の切り替え</title>
</head>
<body>
<form runat="Server">