- ひよこ
- 会議室デビュー日: 2006/01/24
- 投稿数: 13
|
投稿日時: 2006-02-09 23:37
こんばんは、いつも拝見させていただいています。この度は質問があり参りました。
件名の通りVS.2003 VB-ASP.NET WebアプリケーションのCalendarコントロールを使いスケジュールのような物を作っています。データベース接続方法はAccessを使っています。Calendarコントロール(名前はcal)とDataGrid(名前はそのまま)を使いデータベースの中にある日付のスケジュールを該当の日付をクリックすると表示するという所までは出来ています。
しかし今のままでは何日に予定が入っているのか、また予定の入っている日はいつなのかと言うのが分からないため予定の入っている日の色を変えたいと考えているのですがうまくいきません。
コードはこのような感じになっています。
コード: |
|
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
End Sub
Private Sub Cal_SelectionChanged _
(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles Cal.SelectionChanged
Dim cal As Calendar = CType(sender, Calendar)
DispDetail(cal.SelectedDate)
Dim selectString As String = "SELECT No, Date, memo FROM スケジュール where Date = #" & Me.Cal.SelectedDate.Date.ToShortDateString & "#"
Dim connectString As String = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=C:\test\WebDB\スケジュール.mdb"
Dim da As New OleDbDataAdapter(selectString, connectString)
Dim ds As New DataSet
da.Fill(ds)
Me.Datagrid1.DataSource = ds
Me.Datagrid1.DataBind()
End Sub
Private Sub DispDetail(ByVal SelectedDate As Date)
End Sub
|
このままでも日付をクリックすればデータベースの中のDateと一致した日をクリックすればメモの内容が出てきますが予定の入っている日の色が変わりません。
どうすればよいかアドバイスいただけないでしょうか?よろしくお願いいたします。
|
- じゃんぬねっと
- ぬし
- 会議室デビュー日: 2004/12/22
- 投稿数: 7811
- お住まい・勤務地: 愛知県名古屋市
|
投稿日時: 2006-02-10 09:02
引用: |
|
ひよこさんの書き込み (2006-02-09 23:37) より:
このままでも日付をクリックすればデータベースの中のDateと一致した日をクリックすればメモの内容が出てきますが予定の入っている日の色が変わりません。
どうすればよいかアドバイスいただけないでしょうか?
|
ASP.NET Calendar レンダリング で検索する。
_________________ C# と VB.NET の入門サイト
じゃんぬねっと日誌
|
- ひよこ
- 会議室デビュー日: 2006/01/24
- 投稿数: 13
|
投稿日時: 2006-02-10 10:29
返信ありがとうございます。
これを作りに当たってこのサイトにある
http://www.atmarkit.co.jp/fdotnet/dotnettips/337aspcalendarsel/aspcalendarsel.html
を参考にしてデータベースの接続方法をSQLからOleDbに変えて作っています。
参考にしたサイトの「' 出力する日付で登録されたスケジュール情報が存在するかをチェック」から「' 選択セルが変更されたタイミングで実行」の上までのコードを入れれば日付に色がつくと言うことは分かるのですが肝心なコードの方が分かりません。
コード: |
|
Dim selectString As String = "SELECT No FROM スケジュール where Date = #" & Me.Cal.SelectedDate.Date.ToShortDateString & "#"
|
でDateが入っているか調べてこの後どうすればよいのでしょうか?Dateにデータが入っているかどうか調べて入っていたら色を変えると言う流れは分かるのですが記入の仕方がわかりません。
アドバイスいただけないでしょうか?
|
- じゃんぬねっと
- ぬし
- 会議室デビュー日: 2004/12/22
- 投稿数: 7811
- お住まい・勤務地: 愛知県名古屋市
|
投稿日時: 2006-02-10 10:37
引用: |
|
ひよこさんの書き込み (2006-02-10 10:29) より:
でDateが入っているか調べてこの後どうすればよいのでしょうか?
Dateにデータが入っているかどうか調べて入っていたら色を変えると言う流れは分かるのですが記入の仕方がわかりません。
|
??? どちらがわからないのですか?
DBMS が違うところからして、データが存在しているかどうかを調べる術の書き方がわからないのでしょうか???
_________________ C# と VB.NET の入門サイト
じゃんぬねっと日誌
|
- ひよこ
- 会議室デビュー日: 2006/01/24
- 投稿数: 13
|
投稿日時: 2006-02-10 10:49
引用: |
|
じゃんぬねっとさんの書き込み (2006-02-10 10:37) より:
DBMS が違うところからして、データが存在しているかどうかを調べる術の書き方がわからないのでしょうか???
|
素早い返信ありがとうございます。
データが存在していたら色を変えるという一文はIf分なので何となく分かるのですが、参考サイトとはデータベースの接続方法が違うためその前の段階のデータが存在しているかどうか調べる術の書き方で悩んでいます。
アドバイスいただけないでしょうか?よろしくお願いします。
|
- じゃんぬねっと
- ぬし
- 会議室デビュー日: 2004/12/22
- 投稿数: 7811
- お住まい・勤務地: 愛知県名古屋市
|
投稿日時: 2006-02-10 11:13
引用: |
|
ひよこさんの書き込み (2006-02-10 10:49) より:
参考サイトとはデータベースの接続方法が違うためその前の段階のデータが存在しているかどうか調べる術の書き方で悩んでいます。
|
とはいえ、参考サイトとほとんど一緒になっちゃうわけですが...
Parameters のところですが、ひよこさんのテーブルの構成がわからないので埋めてやってください。
コード: |
|
Dim hConnection As System.Data.OleDb.OleDbConnection
Try
hConnection = New System.Data.OleDb.OleDbConnection("...")
Dim hCommand As System.Data.OleDb.OleDbCommand
Try
Const COMMAND_TEXT As String = ( _
"SELECT AnyField FROM TableName WHERE DateFields = @Date1" _
)
hCommand = New System.Data.OleDb.OleDbCommand(COMMAND_TEXT, hConnection)
hCommand.Parameters.Add( _
New System.Data.OleDb.OleDbParameter("@Date1", System.Data.OleDb.OleDbType.[ここにタイプを入れる], [VarChar などであればサイズを入れる]) _
)
hCommand.Parameters("@Date1").Value = Me.Cal.SelectedDate
hConnection.Open()
Try
Dim hReader As System.Data.OleDb.OleDbDataReader
Try
hReader = hCommand.ExecuteReader()
If hReader.HasRow = True Then
'/ ここに処理を追加
End If
Finally
If Not hReader Is Nothing Then
hReader.Close()
End If
End Try
Finally
If Not hConnection Is Nothing
hConnection.Close()
End If
End Try
Finally
If Not hCommand Is Nothing Then
hCommand.Dispose()
End If
End Try
Finally
If Not hConnection Is Nothing Then
hConnection.Dispose()
End If
End Try
|
これは、別にこの SQL コマンドでなくてもいいですし、DataReader を使う必要もなかったり。
_________________ C# と VB.NET の入門サイト
じゃんぬねっと日誌
|
- ひよこ
- 会議室デビュー日: 2006/01/24
- 投稿数: 13
|
投稿日時: 2006-02-10 22:10
PCのトラブルにより返信が遅くなってしまい誠に申し訳ありませんでした。
詳しく教えていただいたおかげで無事に動かすことが出来本当に感謝しています。
この度はありがとうございました、またお世話になることがでてきてしまうかもしれませんがその時はどうかよろしくお願いいたします。
|