GetProperty<Type> メソッド

このメソッドは、Connector のプロパティ値を特定のデータ型で返します。サポートされるデータ型は、Boolean、Currency、Datetime、Float、Int、Numeric、および Text です。

このメソッドでは LCConnection.GetProperty と同様にコネクションのプロパティが取得されますが、フィールドオブジェクトは必要ありません。プロパティ値が指定したデータ型でない場合、データ変換が実行されます。このメソッドではパスワードプロパティの値は取得できず、INVALID_PROPERTY エラーが発生します。

定義位置

LCConnection

構文

flag = lcConnection.GetPropertyBoolean(propertyToken, default)

Set destCurrency = lcConnection.GetPropertyCurrency(propertyToken)

Set destDatetime = lcConnection.GetPropertyDatetime(propertyToken)

destFloat = lcConnection.GetPropertyFloat(propertyToken)

destInt = lcConnection.GetPropertyInt(propertyToken)

Set destNumeric = lcConnection.GetPropertyNumeric(propertyToken)

Set destStream = lcConnection.GetPropertyStream(propertyToken, streamFormat)

パラメータ

パラメータ

説明

propertyToken

コネクションのプロパティを識別するトークン。プロパティトークンの一覧については、付録 B を参照してください。

default

(GetPropertyBoolean のみ) プロパティを検索できない場合に返される値。デフォルト値は FALSE です。

streamFormat

(GetPropertyStream のみ) ストリームが返される前に変換されるストリーム形式。streamFormat を 0 に設定すると変換は実行されず、プロパティ値と同じ形式でストリーム値がコピーされます。それ以外の場合、第 5 章の「ストリーム形式」で説明されているストリーム形式のフラグを指定します。

戻り値

説明

flag

GetPropertyBoolean のみ。TRUE または FALSE のブール値です。プロパティが存在しない場合は、デフォルトが返されます。

dest<Type>

Connector のプロパティの現在値。

Option Public
Uselsx "*lsxlc" 

Sub Initialize
  Dim connect As New LCConnection ("oracle") 
  Dim conFld As LCField
  Dim propName As String
  Dim propDate As LCDateTime
  Dim propNumeric As LCNumeric
  Dim propStrm As LCStream
  Dim propCurr As LCCurrency
  Dim propFloat As Double
  Dim propInt As Long
  Dim propBool As Variant
  Dim tokenId As Long
  Dim propType As Long
  Dim propFlags As Long

  ' set some connector properties
  connect.Server = "Rainbow"
  connect.Userid = "JDoe"
  connect.Password = "xyzzy"

  ' it is not necessary to connect to list properties
  Call connect.ListProperty (LCLIST_FIRST, _
  tokenId, propType, propFlags, propName)

  Print "NAME" Tab(20); "ID"; Tab(28); "FLAGS"; _
  Tab(36); "TYPE"; Tab(48); "VALUE"
  Print "-----------------" Tab(20); "------"; Tab(28); "------"; _
  Tab(36); "----------"; Tab(48); "----------"
  Do
    Set conFld = connect.GetProperty (tokenId)
    ' match the property to a datatype and fetch it as that datatype
    Select Case propType
    Case LCTYPE_DATETIME:
      Set propDate = connect.GetPropertyDatetime (tokenId)
      Print propName; Tab(20); Hex(tokenId); Tab(28); Hex(propFlags); _
      Tab(36); "LCDatetime"; Tab(48); propDate.text
    Case LCTYPE_NUMERIC:
      Set propNumeric = connect.GetPropertyNumeric (tokenId)
      Print propName; Tab(20); Hex(tokenId); Tab(28); Hex(propFlags); _
      Tab(36); "LCNumeric"; Tab(48); propNumeric.text
    Case LCTYPE_TEXT:
      Set propStrm = connect.GetPropertyStream (tokenId, LCSTREAMFMT_NATIVE)
      Print propName; Tab(20); Hex(tokenId); Tab(28); Hex(propFlags); _
      Tab(36); "LCStream"; Tab(48); propStrm.text
    Case LCTYPE_CURRENCY:
      Set propCurr = connect.GetPropertyCurrency (tokenId)
      Print propName; Tab(20); Hex(tokenId); Tab(28); Hex(propFlags); _
      Tab(36); "LCCurrency"; Tab(48); propCurr.text
    Case LCTYPE_FLOAT:
      propFloat = connect.GetPropertyFloat (tokenId)
      Print propName; Tab(20); Hex(tokenId); Tab(28); Hex(propFlags); _
      Tab(36); "Double"; Tab(48); Cstr(propFloat)
    Case LCTYPE_INT:
      If (propFlags And LCPROPERTYF_BOOLEAN) Then
        propBool = connect.GetPropertyBoolean (tokenId, False)
        Print propName; Tab(20); Hex(tokenId); Tab(28); Hex(propFlags); _
        Tab(36); "Boolean"; Tab(48); Cstr(propBool)
      Else
        propInt = connect.GetPropertyInt (tokenId)
        Print propName; Tab(20); Hex(tokenId); Tab(28); Hex(propFlags); _
        Tab(36); "Long"; Tab(48); Cstr(PropInt)
      End If
    End Select
    Loop _
    While connect.ListProperty (LCLIST_NEXT, _
  tokenId, propType, propFlags, propName)
End Sub

出力例

NAME               ID      FLAGS   TYPE        VALUE
-----------------  ------  ------  ----------  ----------
Name               30004   4       LCStream    oracle
IsConnected        3000C   6       Boolean     False
Server             10001   1       LCStream    mycyclone
Userid             10003   1       LCStream    scott
Metadata           10005   0       LCStream  
Index              10006   0       LCStream  
MapByName          10007   2       Boolean     False
Writeback          10008   2       Boolean     False
Condition          1000B   0       LCStream  
StampField         1000C   0       LCStream  
BaseStamp          1000D   0       LCDatetime
MaxStamp           1000E   0       LCDatetime
TextFormat         1000F   4       Long        65535
CharacterSet       30008   4       LCStream    NATIVE
Procedure          10010   0       LCStream  
Owner              10011   0       LCStream  
AlternateMetadata  10013   2       Boolean     False
CommitFrequency    1       0       Long        0
RollbackOnError    2       2       Boolean     False
CreateLongColumn   3       0       LCStream  
CreateLongByUser   4       0       Long        0
TraceSQL           5       2       Boolean     False