DOBON.NETプログラミング道掲示板
(現在 過去ログ2 を表示中)

[ 最新記事及び返信フォームをトピックトップへ ]

■33424 / inTopicNo.1)  DBの数値型カラムのサイズを取得する方法
  
□投稿者/ osakoi 一般人(1回)-(2016/07/11(Mon) 21:50:45)
  • アイコン環境/言語:[OS : Windows 7 / 言語 : Visual Basic .NET / .NET Framework : 4.5] 
    分類:[.NET] 

    【解決したい問題】
    
    早速ですが、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
    --------------------------------------------------------
    数値項目のサイズを、整数部、小数部毎に取得する方法を教えてください。

引用返信 削除キー/
■33425 / inTopicNo.2)  【報告】この投稿はマルチポストです
□投稿者/ (報告) 大御所(260回)-(2016/07/11(Mon) 22:03:27)
  • アイコンこの投稿はマルチポストです。もし元記事の投稿者にマルチポストの心当たりがない場合は、すぐに返信でお知らせください。

    ●マルチポストされている場所
    http://bbs.wankuma.com/index.cgi?mode=al2&namber=80368

    ----------
    この掲示板ではマルチポストが禁止されています。詳しくは、「書き込みのルールについて」をお読みください。

    ●書き込みのルールについて
    http://dobon.net/vb/bbs/index.html
引用返信 削除キー/
■33426 / inTopicNo.3)  Re[2]: 【報告】この投稿はマルチポストです
□投稿者/ osakoi 一般人(2回)-(2016/07/12(Tue) 22:35:52)
  • アイコンNo33425に返信((報告)さんの記事)
    > この投稿はマルチポストです。もし元記事の投稿者にマルチポストの心当たりがない場合は、すぐに返信でお知らせください。
    >
    > ●マルチポストされている場所
    > http://bbs.wankuma.com/index.cgi?mode=al2&namber=80368
    >
    > ----------
    > この掲示板ではマルチポストが禁止されています。詳しくは、「書き込みのルールについて」をお読みください。
    >
    > ●書き込みのルールについて
    > http://dobon.net/vb/bbs/index.html

    申し訳ありませんでした。
    今後、気をつけます。
    ちなみに、下記サイトにて解決致しました。
    http://bbs.wankuma.com/index.cgi?mode=al2&namber=80368

解決み!
引用返信 削除キー/



トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

Mode/  Pass/


- Child Tree -