当前位置:编程学习 > Delphi >>

delphi7中如何获取SQLServer2000里字段说明?

如“Tabel1”中“Sn”,字段说明为“序号”

想在Delphi中编写函数获取指定表指定字段的说明?

如func('Tabel1','Sn')返回“序号”。

追问:真的可以了,再问一句,能否获得表的说明?
答案:

用系统函数 fn_listextendedproperty 可以获取很多扩展属性,

下边的函数应该能帮你解决问题.

//***************************************
// 因空格键会被问问过滤, 所以把
// 空格键替换成不可见字符“ ”
// 因此复制代码到DELPHI后, 复制
// 双引号内字符全替换成两个空格

// 就行了
//***************************************
//
function GetFieldDesc(ADOConnection: TADOConnection;
  aTableName, aFieldName:String): String;
const
 Const_GetDesc='SELECT value FROM ::::fn_listextendedproperty(NULL,''user'''+
   ',''dbo'',''table'',''%s'',''column'',default) where objName=''%s''';
begin
 Result:='';
 if not ADOConnection.Connected then exit;
 with TADOQuery.Create(nil) do
 begin
  try
   Connection:=ADOConnection;
   Close;
   SQL.Text:=format(Const_GetDesc, [aTableName, aFieldName]);
   SHOWMESSAGE(SQL.Text);
   try
    Open;
    Result:=FieldByName('value').AsString;
   except
   end;
  finally
   Free;
  end;
 end;
end;


procedure TForm1.Button1Click(Sender: TObject);
begin
 showmessage(GetFieldDesc(ADOConnection1,'Table1','Sn')); //可以返回 "序号"
end;

上一个:Delphi中定时器组件Timer1无法输入代码
下一个:delphi中不显示表中的重复行

CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,