|
分類:[VB.NET/VB2005 以降]
早速ですが、VB6.0のRDOを使用したシステムをVS2013のVB.NETへコンバージョンしています。
このシステムは、ODBCを使用し、複数のDB(Oracle,SqlServer,Access)よりデータを検索するシステムです。
そこで、現在解決できない問題に直面しており、知恵をお借りしたく投稿させて頂きました。
問題とは、DBのカラム型が数値の場合に、サイズが取得出来ないのです。
ちなみに、文字型の場合は、取得出来ます。
データ型取得ソースコードを下記に記載します。
---ソースコード-----------------------------------------
Imports System.Data.odbc
Dim _con As OdbcConnection = Nothing
Dim sql As String
Dim ds As New DataSet
_con = New odbcConnection
_con.ConnectionString = "UID=testuser;PWD=test;DSN=OracleOdbc;DRIVER={Oracle ODBC Driver}"
'テストテーブルカラム定義内容
'文字列項目:VarChar2(500)
'数値項目:Number(5,2)
sql = " Select 文字列項目,数値項目 from テストテーブル"
Dim SchemaDA as New odbcDataAdapter(sql,_con)
SchemaDA.FillSchema(ds, SchemaType.Source)
For i = 0 To ds.Tables.Item(0).Columns.Count -1
Debug.Print(ds.Tables.Item(0).Columns(i).ColumnName.Tostring) 'カラム名
Debug.Print(ds.Tables.Item(0).Columns(i).DataType.Name.Tostring) '型名
Debug.Print(ds.Tables.Item(0).Columns(i).MaxLength.Tostring) '桁数
Next
---実行結果---------------------------------------------
VARCHAR2(500)
String
500
NUMBER(5,2)
Decimal
-1
--------------------------------------------------------
数値項目のサイズを、整数部、小数部毎に取得する方法を教えてください。
|