- - PR -
データ型の比較(String,Integerなど)
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2004-09-07 21:45
初めて書き込みします。
よろしくお願いいたします。 現在、VB6からアップグレードウイザードを用いて VB.NETに移植作業を行っております。 その中の処理として、SQLServerから取得した値の型を判定し、 たとえばdate型であれば、"2004/09/07"というフォーマットにして、 テキストファイルに落とすことを行っています。 VB6では、こんな感じです。(細かい部分は省いております) -- Select Case objRcdset.Fields(index).Type Case adDate strBuffer = Format(objRcdset.Fields(lngLoopCnt2).Value, "YYYY/MM/DD") End Select '1レコード書き込み Print #mlngFileNumber, strWriteData -- これをVB.NET化したいわけですが、 アップグレードすると、adDate は ADODB.DataTypeEnum.adDate となり、 ADOの型のままとなってしまいます。 このままでも、動けばよいかと思ったのですが、うまく型を判定できません。 DataTableCol = DataTable.Columns(0) という形でADO.NETらしく、型を取得できるようにはしたのですが、 Select Case文にて比較値とするADO.NET的な表現の型(変な日本語ですみません)が見当たりません。 どなたか、ご存知の方はおられませんでしょうか? または、より適切な処理がありましたらご教授いただけると幸いです。 よろしくお願いいたします。 (メンバーIDがなぜか未記入になってしまいます。) |
|
投稿日時: 2004-09-07 22:33
諸農です。
VB.NETをよく知らないのでSelect Case文ではどうなるか判りませんが、 DataColumnクラスのDataTypeプロパティで何とかなりそうですね。 _________________ 諸農和岳 Powered by Turbo Delphi & Microsoft Visual Studio 2005 十兵衛@わんくま同盟 http://blogs.wankuma.com/jubei/ |
|
投稿日時: 2004-09-08 13:49
Jubeiさんはじめまして。返信ありがとうございます。
>VB.NETをよく知らないのでSelect Case文ではどうなるか判りませんが、 >DataColumnクラスのDataTypeプロパティで何とかなりそうですね。 クラスライブラリを参照し、こんな感じでコーディングしてみました。 -- Select Case dtCol.DataType.ToString Case Type.GetType("System.DateTime").ToString 編集処理 End Select -- 他の属性についても同様のやり方で判定できるようです。 このやり方で何とかなりそうです。 どうもありがとうございました。 |
1