- - PR -
DataViewでの抽出
投稿者 | 投稿内容 | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2006-01-10 19:09
これだと、
という決め打ちフォーマットが使える保証がないので、フォーマットを指定する必要があります。 やはり、AddDays メソッドを使って、その値から DayOfWeek プロパティを見た方が簡単でしょう。せっかく配列を用意してあるんですからね。(^^;) _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 | ||||||||||||
|
投稿日時: 2006-01-11 05:08
これ、C# だと思いますが、コンパイル通りました?C# って、数字から文字列への変換って、行われるんでしたっけ? i は、16 から 31 まで変化します。これは、年月日のうちの「日」を表していますね。では、その「日」が表現されるところは、どこでしょう?「((int) today.DayOfWeek) + 1」でしょうか?しかし、today は new DateTime(2005, 12, 16) で、固定されています。 また、DayOfWeek は 0 が「日曜日」を表します。そして C# の配列の基数は 0 です。1 を足すと、日曜日が表現できないばかりか、土曜日がインデックスの範囲外を示してしまいます。 それと、試していませんが、
で同じになるんじゃないかと(詳しくは、「書式指定子」を調べてください)。 さらに、12月は31日までありますが、11月は30日までですよね? 以上5点、気になったので。 ___________________________________ □ written by Jitta on 2006/01/10 _________________ | ||||||||||||
|
投稿日時: 2006-01-11 10:10
AddDAYを利用することでうまくやりたいことができました。
皆さん、本当にありがとうございました。 | ||||||||||||
|
投稿日時: 2006-01-12 15:37
新しいスレを作るのは申し訳ないので、ここで質問させてください。
実績Mから、出社時間と、退社時間を取得し、計算し、就労という項目に格納しようと思っています。 しかし、文字列なので連結してしまいます。1000+1800=10001800 Parseを利用すればいいみたいなのですが、下のプログラムで利用できる書き方が分からず、困っています。よろしくお願いします。 da = new System.Data.OleDb.OleDbDataAdapter( "SELECT 社員No,出社,退社 FROM 実績M ", cn); da.Fill(ds, "実績M"); dc=ds.Tables["実績M"].Columns.Add("就労"); dc.Expression="出社+退社"; dv = new DataView(ds.Tables["実績M"],"" ,"", DataViewRowState.CurrentRows); dataGrid1.DataSource = dv; | ||||||||||||
|
投稿日時: 2006-01-12 16:02
いやいや、別の質問は新しいスレッドを建ててください。 @IT 会議室は情報共有の場らしいですから、分けないと情報が埋もれてしまいます。
とりあえず変数に取りましょう。 ToString メソッドで文字列にしてから Integer.Parse メソッドを実行するとか。 Convert.ToInt32 メソッドでダイレクトに、でも出来ます。(ただし遅い) _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 | ||||||||||||
|
投稿日時: 2006-01-12 19:29
ふむ。午前10時だから "1000" と。午後10時は "2200" ね。じゃぁ、午前7時まで、つまり徹夜したらどうなります?
"0700"?それだと「徹夜した」情報が失われますね。 "3100"?それだと単純にはパース出来ませんね。 ___________________________________ □ written by Jitta on 2006/01/12 _________________ |