none
フィールドの長さの取得方法 RRS feed

  • 質問

  • VB2005とSQL-Server2000で業務システムを開発しております。

    1点質問させて下さい。

     

    例えば、

    テーブル名:SAMPLE_TABLE

    フィールド名:SAMPLE_FIELD

    というVARCHAR型のフィールドがあったとき、フィールドの長さを取得したいのですが、どのようにすれば取得できますでしょうか?

     

    例えば、

    VARCHAR(50)

    の時は「50」を返し、

    VARCHAR(100)

    の時は「100」を返し、

    VARCHAR(500)

    の時は「500」を返すようにしたいのですが。

     

    おわかりになる方ご教授下さい。

    2007年7月27日 9:43

すべての返信

  • 自己レスです。解決しましたので報告します。

     

    ADO.NETの機能を使って長さを取得する方法ばかりを考えていたのですが、発想を変えてみたら解決しました。

     

    下記のようなフィールドの長さを返すSQLを実行しSqlDataReaderで普通に読むようにしました。

     

    SELECT [length] FROM [syscolumns]
    WHERE [id] = object_id(N'[dbo].[SAMPLE_TABLE]')
    AND [name] = 'SAMPLE_FIELD'

    2007年7月27日 11:12