摘录帮助:COLUMNPROPERTY
返回有关列或过程参数的信息。语法
COLUMNPROPERTY ( id , column , property ) 参数
id一个表达式,其中包含表或过程标识符 (ID)。column一个表达式,其中包含列或参数名称。property一个表达式,其中包含要为 id 返回的信息。该表达式可以取下列这些值中的任意一个。值 描述 返回的值 
AllowsNull 允许空值。 1 = TRUE
0 = FALSE
NULL = 无效的输入 
IsComputed 该列为计算列。 1 = TRUE
0 = FALSE
NULL = 无效的输入 
IsCursorType 过程参数属于CURSOR 类型。 1 = TRUE
0 = FALSE
NULL = 无效的输入 
IsDeterministic 该列具有确定性。该属性只适用于计算列和视图列。 1 = TRUE
0 = FALSE
NULL = 无效的输入不是计算列或视图列。 
IsFulltextIndexed 该列已经注册为全文索引。 1 = TRUE
0 = FALSE
NULL = 无效的输入 
IsIdentity 该列使用IDENTITY 属性。 1 = TRUE
0 = FALSE
NULL = 无效的输入 
IsIdNotForRepl 该列检查IDENTITY_INSERT 设置。如果指定了IDENTITY NOT FOR REPLICATION,则不检查IDENTITY_INSERT 设置。 1 = TRUE
0 = FALSE
NULL = 无效的输入 
IsIndexable 该列可进行索引。 1 = TRUE
0 = FALSE
NULL = 无效的输入 
IsOutParam 该过程参数为输出参数。 1 = TRUE
0 = FALSE
NULL = 无效的输入 
IsPrecise 该列是精确的。该属性只适用于具有确定性的列。 1 = TRUE
0 = FALSE
NULL = 无效的输入不是具有确定性的列。 
IsRowGuidCol 该列具有 uniqueidentifier 数据类型并且使用ROWGUIDCOL 属性进行定义。 1 = TRUE
0 = FALSE
NULL = 无效的输入 
Precision 列或参数的数据类型的精度。 指定的列数据类型的精度 
NULL = 无效的输入
 
Scale 列或参数的数据类型的小数位数。 小数位数 
NULL = 无效的输入
 
UsesAnsiTrim 当开始创建表时,ANSI 填充设置为 ON。 1 = TRUE
0 = FALSE
NULL = 无效的输入 
返回类型
int注释
当检查列的确定性属性时,首先测试该列是否为计算列。IsDeterministic 对于非计算列返回 NULL。可以将计算列指定为索引列。示例
下面的示例返回 au_lname 列的长度。SELECT COLUMNPROPERTY( OBJECT_ID('authors'),'au_lname','PRECISION')
SELECT COLUMNPROPERTY( OBJECT_ID('authors'),'au_lname','AllowsNull')SELECT COLUMNPROPERTY( OBJECT_ID('authors'),'au_lname','IsIdentity')

解决方案 »

  1.   

    这个帮助我也看了,就是没看进去
    谢谢!
    另外--在Access中也可用么?
      

  2.   

    在Access中,我没有试过.不知道.附使用在Asp中使用该函数的例子:
    --判断是否为标识列
    SELECT COLUMNPROPERTY( OBJECT_ID('YourTable'),'YourColumn','IsIdentity')
    --判断是否为空
    SELECT COLUMNPROPERTY( OBJECT_ID('YourTable'),'YourColumn','AllowsNull')
    在Asp中,大致如下,没测试.
    ...Connect...
    Dim RecSet
    Dim IsIdentity
    Dim AllowsNull
    Set RecSet=Connection.Execute("SELECT COLUMNPROPERTY( OBJECT_ID ('YourTable'),'YourColumn','IsIdentity') As IsIdentity")
    IsIdentity=RecSet("IsIdentity")
    IF IsIdentity=1 Then
    '是标识列
    Else
    'bushiRecSet=Connection.Execute("SELECT COLUMNPROPERTY( OBJECT_ID('YourTable'),'YourColumn','IsIdentity') As AllowsNull")
    AllowsNull=RecSet("AllowsNull")
    .......