点击或拖拽改变大小

Functions.VoDbFieldInfo 方法 (UInt32, UInt32, __Usual)

X#
检索字段的定义信息。

命名空间:  XSharp.RT
程序集:  XSharp.RT (在 XSharp.RT.dll 中) 版本:2.22 GA
语法
 FUNCTION VoDbFieldInfo(
	kInfoType AS DWORD,
	wFieldPos AS DWORD,
	ptrRetVal REF USUAL
) AS LOGIC
查看代码

参数

kInfoType
类型:UInt32
确定检索的信息类型。
wFieldPos
类型:UInt32
要获取信息的字段的位置编号。
ptrRetVal
类型:__Usual
指向多态值的指针。
如果函数成功,此值将接收请求的信息;否则保持不变。
如果您只想检索信息,在调用函数之前此值必须为 NIL。
虽然其他 RDD 可能会扩展这个概念,但提供的 RDD 将使用非 NIL 值的情况限制在一种可以更改信息而不仅仅是检索信息的情况。对于 DBS_ALIAS kInfoType,您可以指定一个非 NIL 值,允许您指定一个字符串,随后可以用它来访问指定的字段。

返回值

类型:Boolean
如果成功则返回 TRUE;否则返回 FALSE。
备注
VODBFieldInfo() 与 DBFieldInfo() 相同,除了其第三个参数的用途和它返回一个逻辑值这一事实。
然而,此函数不调用错误处理程序,因此如果失败,不会产生运行时错误消息或创建错误对象。因此,检查返回值以确定函数是否成功可能很重要。
全局结构 StrucErrInfo 将包含有关发生的任何错误的必要信息。有关更多信息,请参见 DBFieldInfo()。
示例
以下示例使用 VODBFieldInfo() 检索字段信息:
X#
 1FUNCTION ShowFieldInfo(wField AS WORD) AS VOID
 2    LOCAL uResult AS USUAL
 3    uResult := NIL
 4    IF VODBFieldInfo(DBS_NAME, wField, @uResult)
 5        ? "FieldName(): ", uResult
 6    ELSE
 7        DoError()
 8    ENDIF
 9    IF VODBFieldInfo(DBS_TYPE, wField, @uResult)
10        ? "字段类型: ", uResult
11    ELSE
12        DoError()
13    ENDIF
14    IF VODBFieldInfo(DBS_LEN, wField, @uResult)
15        ? "字段长度: ", uResult
16    ELSE
17        DoError()
18    ENDIF
19    IF VODBFieldInfo(DBS_DEC, wField, @uResult)
20        ? "小数位数: ", uResult
21    ELSE
22        DoError()
23    ENDIF
24    RETURN
25STATIC FUNCTION DoError() AS USUAL
26    LOCAL uRetCode AS USUAL
27    LOCAL oError AS USUAL
28    oError := ErrorBuild(@strucErrInfo)
29    oError:FuncSym := #VODBFieldInfo
30    RETURN EVAL(ErrorBlock(), oError)
参见