- 追加された行はこの色です。
- 削除された行はこの色です。
閲覧総計:&counter(); (本日:&counter(today); 昨日:&counter(yesterday);)
[[cratosslotgiris:https://www.cratosslot.pro/]]
[[cratosslot:https://www.cratosslot.pro/]]
[[Chaturbate:https://de.chaturbate.eu.com]]
[[Chatrubate German:https://de.chaturbate.eu.com]]
[[Chaturbat:https://de.chaturbate.eu.com]]
[[Chatubate:https://de.chaturbate.eu.com]]
[[chatirbate:https://de.chaturbate.eu.com]]
カレンダ コントロールのセルに情報を表示する方法を確認した。 10/08/09
#ref(SqlCalCellDisp02.jpg);
[[myfreecams:https://de.myfreecams.eu.com]]
[[mydirtyhobby:https://www.mydirtyhobby.vip]]
[[aylar mydirtyhobby:https://www.mydirtyhobby.vip]]
[[aylar my dirty hobby:https://www.mydirtyhobby.vip]]
参考にしたページは↓こちら。
「Calendarコントロールのセルに任意のデータを埋め込むには?」05/03/18
http://www.atmarkit.co.jp/fdotnet/dotnettips/277aspcalceldata/aspcalceldata.html
ところが、DBへの接続手法がASP.NET2.0以降は、記事内容(ASP.NET1.X)から変更にな
っているので、「DBへの接続」のコードを↓記事を参考に全面的に改造した。
「データソース・コントロールでいってみよう(前編)」 06/07/29
http://www.atmarkit.co.jp/fdotnet/vs2005db/vs2005db_06/vs2005db_06_03.html
また、実際にはDBにMS-Accessを利用したいので、↓このページの情報を参考に、
DBをSQL Server2008→MS-Access2003に変更し、正常に稼働する事を確認した。
「ASP.NET アクセスデータにアクセスする(コーディング)」
http://3939deb.seesaa.net/article/107785168.html
また、参考情報としてSqlDataSourceコントロールを利用し実現した場合のコードを掲載
した。コード量が少ない所を比較して欲しい。 10/08/10
★項目をクリックするとそのページに飛べます↓
#contents
開発環境:VWD2008 + Access2003 + SQL Server2008
サーバ:ASP.NET3.5 + Access2003
【機能】DBの予定情報をカレンダに表示する。
*DBにSQL Server2008を使用した場合 [#u32cb928]
【稼働画面】
#ref(SqlScheduleDesign01.JPG);
#ref(SqlScheduleData01.JPG);
#ref(SqlCalCellDisp01.JPG);
【sqlCalCellDisp.aspx】
<%@ Page Language="VB" ContentType="text/html" %>
<%@ Import Namespace="System.Data.Common" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="Server">
'SQL ServerDBのConnectionString
Dim MyDbConnectionString As String = "Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\SQLCalendar.mdf;Integrated Security=True;Use r Instance=True"
'SQL ServerDBのProviderName
Dim MyDbProviderName As String = "System.Data.SqlClient"
' それぞれの日付セルをレンダリングするタイミングで実行
Sub cal_DayRender(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.DayRenderEventArgs)
Dim setting As ConnectionStringSettings = _
ConfigurationManager.ConnectionStrings(MyDbConnectionString)
Dim factory As DbProviderFactory = _
DbProviderFactories.GetFactory(MyDbProviderName)
Using objDb As DbConnection = factory.CreateConnection()
objDb.ConnectionString = MyDbConnectionString
' 出力する日付セルに対応するスケジュール情報を抽出
Dim objCom As DbCommand = factory.CreateCommand()
objCom.CommandText = "SELECT [ID],[title],[sdate],[stime],[etime] FROM [schedule01] WHERE [sdate]=@sdate ORDER BY [stime] ASC"
objCom.Connection = objDb
Dim objPrm As DbParameter = factory.CreateParameter()
objPrm.ParameterName = "@sdate"
objPrm.Value = e.Day.Date.ToString("yyyy/MM/dd")
objCom.Parameters.Add(objPrm)
objDb.Open()
Dim objRd As DbDataReader = objCom.ExecuteReader()
' 取得したスケジュール情報を基に
' LiteralControl(固定文字列)を生成し、
' 日付セル(e.Call)配下のコントロールとして追加
Do While objRd.Read()
e.Cell.Controls.Add(New LiteralControl("<br />" & String.Format("{0}〜{1}:{2}", objRd.GetString(3), objRd.GetString(4), objRd.G etString(1))))
Loop
End Using
End Sub
</script>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>スケジュールをカレンダー上に表示する</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:Calendar id="cal" runat="server"
DayHeaderStyle-BackColor="#FFCC66"
onDayRender="cal_DayRender" ShowGridLines="true"
BorderWidth="3" BorderColor="Black" Font-Name="Verdana"
Font-Size="10px" TitleStyle-BackColor="#FFCC66"
TitleStyle-Font-Size="12px" TitleStyle-Font-Bold="true"
DayStyle-VerticalAlign="Top" DayStyle-Height="50px"
DayStyle-Width="14%" SelectedDayStyle-BackColor="Navy"
ShowNextPrev="True" NextPrevFormat="FullMonth">
<SelectedDayStyle BackColor="#CC5533" />
</asp:Calendar>
<br />
</div>
</form>
</body>
</html>
【参考にしたページ】
1.「Calendarコントロールのセルに任意のデータを埋め込むには?」05/03/18
http://www.atmarkit.co.jp/fdotnet/dotnettips/277aspcalceldata/aspcalceldata.html
2.「データソース・コントロールでいってみよう(前編)」 06/07/29
http://www.atmarkit.co.jp/fdotnet/vs2005db/vs2005db_06/vs2005db_06_03.html
#comment_nospam
#vote(参考になった[0],ふつう[0],参考にならなかった[0])
~
~
~
*DBにMS-Access2003を使用した場合 [#fca0772c]
【ポイント】
DB接続の為のConnectionString情報とProviderName情報の2つを変更するだけでDBを
SQL ServerからMS-Accessに変更できる。
'MS-AccessDBのConnectionString
Dim MyDbConnectionString As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|\AccessDB.mdb;Persist Security Info=True"
'MS-AccessDBのProviderName
Dim MyDbProviderName As String = "System.Data.OleDb"
【稼働画面】
#ref(AccessScheduleDesign01.JPG);
#ref(AccessSchedule01.JPG);
#ref(CalCellDisp01.JPG);
【acCalCellDisp.aspx】
<%@ Page Language="VB" ContentType="text/html" %>
<%@ Import Namespace="System.Data.Common" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="Server">
'MS-AccessDBのConnectionString
Dim MyDbConnectionString As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|\AccessDB.mdb;Persist Security Info=True"
'MS-AccessDBのProviderName
Dim MyDbProviderName As String = "System.Data.OleDb"
' それぞれの日付セルをレンダリングするタイミングで実行
Sub cal_DayRender(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.DayRenderEventArgs)
Dim setting As ConnectionStringSettings = _
ConfigurationManager.ConnectionStrings(MyDbConnectionString)
Dim factory As DbProviderFactory = _
DbProviderFactories.GetFactory(MyDbProviderName)
Using objDb As DbConnection = factory.CreateConnection()
objDb.ConnectionString = MyDbConnectionString
' 出力する日付セルに対応するスケジュール情報を抽出
Dim objCom As DbCommand = factory.CreateCommand()
objCom.CommandText = "SELECT [ID],[title],[sdate],[stime],[etime] FROM [schedule01] WHERE [sdate]=@sdate ORDER BY [stime] ASC"
objCom.Connection = objDb
Dim objPrm As DbParameter = factory.CreateParameter()
objPrm.ParameterName = "@sdate"
objPrm.Value = e.Day.Date.ToString("yyyy/MM/dd")
objCom.Parameters.Add(objPrm)
objDb.Open()
Dim objRd As DbDataReader = objCom.ExecuteReader()
' 取得したスケジュール情報を基に
' LiteralControl(固定文字列)を生成し、
' 日付セル(e.Call)配下のコントロールとして追加
Do While objRd.Read()
e.Cell.Controls.Add(New LiteralControl("<br />" & String.Format("{0}〜{1}:{2}", objRd.GetString(3), objRd.GetString(4), objRd.G etString(1))))
Loop
End Using
End Sub
</script>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>スケジュールをカレンダー上に表示する</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:Calendar id="cal" runat="server"
DayHeaderStyle-BackColor="#FFCC66"
onDayRender="cal_DayRender" ShowGridLines="true"
BorderWidth="3" BorderColor="Black" Font-Name="Verdana"
Font-Size="10px" TitleStyle-BackColor="#FFCC66"
TitleStyle-Font-Size="12px" TitleStyle-Font-Bold="true"
DayStyle-VerticalAlign="Top" DayStyle-Height="50px"
DayStyle-Width="14%" SelectedDayStyle-BackColor="Navy"
ShowNextPrev="True" NextPrevFormat="FullMonth">
<SelectedDayStyle BackColor="#CC5533" />
</asp:Calendar>
<br />
</div>
</form>
</body>
</html>
【参考にしたページ】
1.「Calendarコントロールのセルに任意のデータを埋め込むには?」05/03/18
http://www.atmarkit.co.jp/fdotnet/dotnettips/277aspcalceldata/aspcalceldata.html
2.「データソース・コントロールでいってみよう(前編)」 06/07/29
http://www.atmarkit.co.jp/fdotnet/vs2005db/vs2005db_06/vs2005db_06_03.html
3.「ASP.NET アクセスデータにアクセスする(コーディング)」
http://3939deb.seesaa.net/article/107785168.html
#comment_nospam
#vote(参考になった[0],ふつう[0],参考にならなかった[0])
~
~
~
*(参考)SqlDataSourceコントロールを利用して実現した場合 [#tfaf915e]
カレンダ コントロールとSqlDataSourceコントロールを利用して、スケジュール情報
をカレンダに表示した事例である。コードの記述が少なくて実現出来るのが特徴。 10/08/10
【sqlCalCellDisp_sqlDS.aspx】
<%@ Page Language="VB" ContentType="text/html" %>
<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Data.Common" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="Server">
' それぞれの日付セルをレンダリングするタイミングで実行
Sub cal_DayRender(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.DayRenderEventArgs)
sds.SelectParameters.Clear()
sds.SelectParameters.Add("sdate", e.Day.Date.ToString("yyyy/MM/dd"))
Dim objRd As IDataReader = sds.Select(DataSourceSelectArguments.Empty)
' 取得したスケジュール情報を基に
' LiteralControl(固定文字列)を生成し、
' 日付セル(e.Call)配下のコントロールとして追加
Do While objRd.Read()
e.Cell.Controls.Add(New LiteralControl("<br />" & String.Format("{0}〜{1}:{2}", objRd.GetString(3), objRd.GetStr ing(4), objRd.GetString(1))))
Loop
End Sub
</script>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>スケジュールをカレンダー上に表示する</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:Calendar id="cal" runat="server"
DayHeaderStyle-BackColor="#FFCC66"
onDayRender="cal_DayRender" ShowGridLines="true"
BorderWidth="3" BorderColor="Black" Font-Name="Verdana"
Font-Size="10px" TitleStyle-BackColor="#FFCC66"
TitleStyle-Font-Size="12px" TitleStyle-Font-Bold="true"
DayStyle-VerticalAlign="Top" DayStyle-Height="50px"
DayStyle-Width="14%" SelectedDayStyle-BackColor="Navy"
ShowNextPrev="True" NextPrevFormat="FullMonth">
<SelectedDayStyle BackColor="#CC5533" />
</asp:Calendar>
<asp:SqlDataSource ID="sds" runat="server"
ConnectionString="<%$ ConnectionStrings:MyDB %>" DataSourceMode="DataReader"
ProviderName="<%$ ConnectionStrings:MyDB.ProviderName %>"
SelectCommand="SELECT [ID], [title], [sdate], [stime], [etime] FROM [schedule01] WHERE ([sdate] = @sdate) ORDER B Y [stime] ASC">
</asp:SqlDataSource>
<br />
<br />
</div>
</form>
</body>
</html>
#comment_nospam
#vote(参考になった[0],ふつう[0],参考にならなかった[0])