VB2005とSQL-Server2000で業務システムを開発しております。
1点質問させて下さい。
例えば、
テーブル名:SAMPLE_TABLE
フィールド名:SAMPLE_FIELD
というVARCHAR型のフィールドがあったとき、フィールドの長さを取得したいのですが、どのようにすれば取得できますでしょうか?
VARCHAR(50)
の時は「50」を返し、
VARCHAR(100)
の時は「100」を返し、
VARCHAR(500)
の時は「500」を返すようにしたいのですが。
おわかりになる方ご教授下さい。
自己レスです。解決しましたので報告します。
ADO.NETの機能を使って長さを取得する方法ばかりを考えていたのですが、発想を変えてみたら解決しました。
下記のようなフィールドの長さを返すSQLを実行しSqlDataReaderで普通に読むようにしました。
SELECT [length] FROM [syscolumns]WHERE [id] = object_id(N'[dbo].[SAMPLE_TABLE]')AND [name] = 'SAMPLE_FIELD'