- - PR -
「今日」だけ表示ができない
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2006-10-03 16:55
データはどうでしょう。
編集後の「strSelectCommand」に入っているSQLを、直接手作業で実行してみて ください。 うまくいくSQLと確認できたならば、C#での編集をせず、直接代入でSQLを 「strSelectCommand」 に入れて実行してみてください。 _________________ たつごろー codeseek こみゅぷらす |
|
投稿日時: 2006-10-03 17:07
ご回答ありがとうございます。
strSelectCommandの文字列を結合したあとで、 TextBox1.Text = strSelectCommand; と記述し、このTextBox1に表示された内容をそのままクエリとして実行してみましたが、やはり結果は正常に表示されました。 |
|
投稿日時: 2006-10-03 17:11
ぽぴ王子さんも言われてますが、
テーブルの「日付」の型はいったい何なんでしょう? |
|
投稿日時: 2006-10-03 17:17
>まどかさん
データベースに格納されているのはDateTime型です。 全てのデータが2004年で、時間は0:00:00で格納されています。 そのため「タイトル」と連結キーに設定しています。 ちなみに2004年である理由は、日付を含めたデータを格納する際に、 「うるう日」がある年であることが望まれたためです。 [ メッセージ編集済み 編集者: Wingard 編集日時 2006-10-03 17:19 ] |
|
投稿日時: 2006-10-03 17:44
一行ずつ確かめてみる、というよい意見が出ていましたが、
いまひとつ採用されていない雰囲気を感じるような。 具体的に説明すべきかな。 とりあえず。ブレークポイントで実行をとめて、 変数の中身を見ることはできるのですね? できるなら。 うまくいく場合とうまくいかない場合についてそれぞれ。 まず一行目でとめて、MemTempの中身には何が入っていますか? 次に。 string DateTemp = MemTemp.ToString("2004/MM/dd 0:00:00"); の次の行でとめて。 DateTempには何が入っていますか? MemTemp = DateTime.Parse(DateTemp); の次の行でとめて。 MemTempには何が入っていますか? strSelectCommand += "'" + MemTemp + "'"; の次の行でとめて。 MemTemp.ToString()の値はどうなっていますか?(ToStringは、明示的に呼び出さなくても暗黙で呼び出されたはずです。) strSelectCommandには何が入っていますか? SqlDataSource1.SelectCommand = strSelectCommand; の次の行でとめて。 SqlDataSource1.SelectCommandには何が入っていますか? SqlDataSource1.SelectCommandに入っていたSQLをそのままデータベースに流すと、 どういう結果が得られますか? という感じで一行一行よく見ながら進んでいくと、 結局早く解決することが多いですよ。 あとなんか、ちゃんと現在のコードをビルドしたdllが実行されているのか、なんとなく不安に思えるような状況なので。 一度クリーンを実行してみるなどしたほうがよいかもしれません。 |
|
投稿日時: 2006-10-03 18:04
接続先データベースサーバの時計とかタイムゾーンが
違ってました、ってオチはないよね? |
|
投稿日時: 2006-10-03 18:15
>まりもさん
ご回答ありがとうございます。 >一度クリーンを実行してみるなどしたほうがよいかもしれません。 これはリビルドのことでしょうか? http://msdn2.microsoft.com/ja-jp/library/5tdasz7h.aspx こことかを参考にして探してみましたが、それらしい項目がありませんでした……。 >一行ずつ確かめてみる 手順として、起動直後は正常に今日のデータが表示されていますので、 起動>別の日付を表示>今日を表示 としましたが、 MemTempには 2004/10/03 0:00:00 と表示され、残りは全て 「SELECT タイトル,コメント FROM 情報 WHERE 日付='2004/10/03 0:00:00'」 と出てきました。 年や時間もチェックしましたが、全て2004年で0:00:00です。 一応基本的な切り分けは全て試したつもりなのですが……。 |
|
投稿日時: 2006-10-03 18:17
>vincentさん
もちろんすでに確認していますし、そもそもツールで入力していますので、それ以外の値が入る余地はありません。 また、もしサーバとクライアントの間で時間差があるとすれば、逆に今日のデータが最初だけ表示される理由がなくなります。 |