プロが教えるわが家の防犯対策術!

VisualStudioでASP.NETをやってる、初心者でございます。
データグリッドにSQLから取得したデータを表示させているのですが、
日付が
2004/11/26 00:00:00
という風に表示されてしまいます。
これを、
2004/11/26
とだけ表示させるにはどうしたらよいのでしょうか?
どうぞ、よろしくお願いしますm(_ _)m

A 回答 (6件)

こんにちは。



この「テーブル1」の「日付」カラムは、「datetime」か「smalldatetime」型なんですよね?

データグリッドの方がよくわかってないので申し訳ないんですが、
カラム名でバインドさせているんでしょうか?

CONVERT(char,日付,111)には値が入っているはずなので、
CONVERT(char,日付,111) 日付,
のように、別名をつければいいのかな???

SQL側の問題ではない(値は取れている)と思いますです・・・はい。
(^^ゞ

この回答への補足

早速、CONVERT(char,日付,111) 日付,
を試してみたんですが、ダメでした。
やはり何も表示されないみたいです。
う~ん、しかしASPっていうのは難しいですね(--;)
実は仕事で作成しているのですが、どうしても間に合いそうにないため、
仕様を一部変えて、
一番下の方の回答を参考させていただきました。
今後はなるべく妥協せず、自分の力でがんばりたいとおもいます。
みなさま本当にありがとうございました!

補足日時:2004/11/30 14:00
    • good
    • 0

SQL文が長くなってしまいますが、


SELECT NO, CONVERT( char(4), DATEPART(yyyy, 日付)) + '/' + CONVERT( char(2), DATEPART(mm, 日付)) + '/' + CONVERT( char(2), DATEPART(dd, 日付)) AS 日付, (以下略)
と日付の部分を変えてみて下さい。
やっていることは、年と月と日をそれぞれ出して文字列にして結合しています。
もっと楽な命令があるかも、、、
もし日付が文字列なら
SELECT NO, LEFT(日付,10)でOKなはず。。

ちなみに、ASP.NET側で変えるには、目的の列を一度[連結列]を[テンプレート列]に変換して下さい。
その後に、ASPXのソースを見るとデータベースから値を取り出しているところがあるので、そこを書き換えればOKです。
今、.NETが手元にないのでサンプル書けないです。

参考URL:http://www.atmarkit.co.jp/fdotnet/dotnettips/ind …
    • good
    • 0
この回答へのお礼

大変詳しく教えていただきありがとうございます。
下に書いたとおり、仕様を変えてしまうことになってしまいました(TT)
しかし、このご回答は今後必ず役に立つと思うので、
しっかりと保存させていただきました。
ありがとうございましたm(_ _)m

お礼日時:2004/11/30 14:06

こんにちは。



うーん、この「テーブル1」の「日付」カラムがどうなってるかが問題ですが・・・、
例えば、
SqlDataAdapter1.SelectCommand.CommandText = "SELECT No, CONVERT(char,日付,111), 開始時刻, 終了時刻, 住所, TEL FROM テーブル1;"
なんかでどうですか?
(^^ゞ

この回答への補足

ご回答ありがとうございます!
早速ためしてみたました!

すると、日付だけ空白になってしまいました(ToT)
ためしに他のデータ型とか、11とかでも試してみましたが、ダメでした…。

SQLサーバ側に問題があるのでしょうか…ほんとうにすみません。

補足日時:2004/11/29 14:19
    • good
    • 0

こんにちは。



DBによって違いますが・・・。
DBと取得しているSQLを載せて頂けるとありがたいです・・・。
(^^ゞ

この回答への補足

ご回答ありがとうございます。
サーバはSQLServer2000を使ってます。

例えば、下記の様な感じで取得します。
SqlDataAdapter1.SelectCommand.CommandText = "SELECT No, 日付, 開始時刻, 終了時刻, 住所, TEL FROM テーブル1;"

この場合に、データグリッドで表示したときに、日付が
2004/11/29 00:00:00
となってしまいます。時刻は00:00のように表示されてるんですが…。

補足日時:2004/11/29 13:20
    • good
    • 0

こんばんは。



SQL文の中で変換してしまってはダメですか?
(^^ゞ

この回答への補足

すみません、SQL文で変換する方法を色々探してみたのですが、
わかりませんでした。
具体的にどのように変換すればよいのでしょうか?

補足日時:2004/11/29 11:22
    • good
    • 0

<asp:BoundColumn DataFormatString="yyyy/MM/dd" />



プロパティビルダーの列/連結列/データフォーマット式で
設定できる

この回答への補足

ご回答ありがとうございます。
早速試してみましたが、プロパティビルダーだとどうやらうまくいかないみたいです。
というのも、コードから
SqlDataAdapter1.SelectCommand.CommandText = "SELECT * ~~~
という風にいろんなパターンに応じて表示させているので、プロパティビルダーからだと、
うまくいかないようです。
コードから表示させる方法ってないものなのでしょうか?

補足日時:2004/11/26 16:31
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!