- PR -

ADO.NET + SQLServer2000でのXMLについて

1
投稿者投稿内容
ゆき
大ベテラン
会議室デビュー日: 2003/11/02
投稿数: 121
投稿日時: 2003-11-26 17:40
 こんにちは。
SQLServer2000でsmalldatetime型となっている値をselect文で取得し、DataSet.WriteXmlでファイルに書き込むと、
「2003-02-25T00:00:00.0000000+09:00」のような値が出力されてしまいます。
2003/11/26 もしくは 2003年11月26日 のように出力したいのですが、
select文で CONVERT(VARCHAR(10),((CONVERT(VARCHAR,(DATEPART(yyyy,THO.納期))) + '/' + CONVERT(VARCHAR,(DATEPART(mm,THO.納期))) + '/' + CONVERT(VARCHAR,(DATEPART(dd,THO.納期))))))
と書いてみたりしても変化がありません。
DataSetにtype="string"のスキーマを読み込んでおくと、
2003/02/25 0:00:00
のように出力されます。
どうしたらよいのでしょうか?
聖人@SKB
ベテラン
会議室デビュー日: 2003/03/26
投稿数: 58
お住まい・勤務地: 横浜(MM21)勤務の筈だがいつも顧客先常駐
投稿日時: 2003-11-27 14:39
以下のようにすると 2003/11/26 というふうに出力できます。

1.Select文を CONVERT(varchar, THO, 111) As THO に変更
2.DataSetのスキーマを表示し(datasetxx.xsd)、項目の型をStringに変更

これで出来ます。(※これ以上は分からない)
今回の件、私の知らなかったのでいろいろ試しました。
勉強になりました。

T-SQLのCONVERT関数に関するヘルプは以下のURLを参照願います。
http://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/tsqlref/ts_ca-co_2f3o.asp
ゆき
大ベテラン
会議室デビュー日: 2003/11/02
投稿数: 121
投稿日時: 2003-11-30 22:33
どうもありがとうございます。
何とかできました。
1

スキルアップ/キャリアアップ(JOB@IT)