在DELPHI中如何读取SQL SERVER 2000表中字段的"描述"属性?(100分)

X

xmdsj

Unregistered / Unconfirmed
GUEST, unregistred user!
用DELPHI 6.0 + SQL SERVER 2000 开发软件 用ADO接口
字段名用英文 字段的中文名称存在"描述"属性中
请问在DELPHI中如何读取出"描述"属性的值
因为我想用"描述"属性的值来修改表格标题等
 
SELECT sysobjects.name AS tablename, syscolumns.name AS colname,
CONVERT(nchar(30), sysproperties.[value]) AS description, syscomments.text AS Def,
syscolumns.isnullable
FROM sysobjects INNER JOIN
syscolumns ON sysobjects.id = syscolumns.id INNER JOIN
sysproperties ON syscolumns.id = sysproperties.id AND
syscolumns.colid = sysproperties.smallid LEFT OUTER JOIN
syscomments ON syscolumns.cdefault = syscomments.id
WHERE (sysobjects.name = :TableName)
 
sp_columns/sp_help/sp_tables
這些存儲過程可以使用的呀,你可以看看幫助
當然了,你也可以查詢系統表
 
查系统表可以实现。
 
看看这个:http://www.wellknow.net/dress.php?s=bd53afaf31ec11bc32256efcb1ad34f8&type=system&action=Comments
你可能需要注册并登录后才可以看见.
 
补上后台引用的存储过程:
/*
名称:
输入:
输出:
调用:
说明:
*/
CREATE PROCEDURE [dbo].[spPlusID2Name]
(
@ID INT,/*ID*/
@sName VARCHAR(500) OUTPUT/*返回名称*/
)
AS

/*ID -> Name*/
SELECT @sName = Object_Name(@ID)
GO

/*
名称:
输入:
输出:
调用:
说明:
*/
CREATE PROCEDURE [dbo].[spPlusID2ColName]
(
@ID INT,/*ID*/
@ColID SMALLINT,/*字段ID*/
@sName VARCHAR(100) OUTPUT/*返回名称*/
)
AS

/*获取 字段名称 -> ID*/
SELECT @sName = Name FROM syscolumns WHERE (ID = @ID) AND (ColID = @ColID)
GO
前台程序可留E再发.
 
我还是觉得查询系统表方式比较明了(直接或者间接),sp_XXX存储过程结果未必令人满意
 
多人接受答案了。
 
顶部