关于动态修改ACCESS数据库中的表及字段的描述(注释)(100分)

  • 主题发起人 主题发起人 Grandboy
  • 开始时间 开始时间
G

Grandboy

Unregistered / Unconfirmed
GUEST, unregistred user!
哪位大侠知道如果在某些方面Delphi中写程度对Access数据中的表及字段的注释进行修改,
这个问题比较棘手,而且比较急,请多多帮忙

现在把这些信息取出来可以,但是就是没有办法修改,急!!!!!!!!!!!!
 
用下面SQL语句可以实现修改ACCESS数据库中字段的属性
ALTER TABLE table_neme ALTER COLUMN abc varchar(100) null;
^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^
表名 字段名 字段属性
---------------
例如:
var ss:string;
begin
ss:='ALTER TABLE tab ALTER COLUMN a varchar('+Edit1.Text+')';//根据Edit1.Text中的数字可以动态修改
with ADOQuery1 do
begin
Close;
SQL.Clear;
SQL.Add(ss);
ExecSQL;
end;
end;
 
不是修改属性,而字段说明!!!!!!!!!!!!!!!![:)
 
有必要修改这个吗?
说实在的,我还真不知道这个说明以后在“数据库<-->程序”之间有什么用呢!
听听。
 
有没有用ADOX试试.
 
to :白衣书生 :
当然有了,你要把用户当地时间傻瓜才行,:)我这可不是骂上帝呀!!

to :hbezwwl,

这个我也想过,但是没有找到办法呀,请帮忙找一下办法吧,谢谢



 
>>>>你要把用户当地时间傻瓜才行,:)
什么意思啊? Grandboy老大,我看不明白啊。
还是不明白,望详解。 3X
 
在delphi中Import type library,生成Adox_tlb.pas,引用它

procedure TForm1.Button2Click(Sender: TObject);
var i,j,k:integer;
var cat:_Catalog;
begin
cat:=coCatalog.Create;
cat.Set_ActiveConnection(self.ADOConnection1.ConnectionObject);
for i:=0 to cat.Tables.Count-1 do
if cat.Tables.Item.Name = 'test' then //找到你要改的表
for j:=0 to cat.Tables.Item.Columns.Count-1 do
if cat.Tables.Item.Columns.Item[j].Name = 't3' then //找到你要改的列
for k:=0 to cat.Tables.Item.Columns.Item[j].Properties.count-1 do
if Lowercase(cat.Tables.Item.Columns.Item[j].Properties.Item[k].name)='description' then
cat.Tables.Item.Columns.Item[j].Properties.Item[k].Value:='test'; //把这个字段的描述改成'test'

end;

修改表的描述还未找到办法
 
这个问题虽然没有得到特别满意的回答,但是我还是很感谢各位的热情帮助呀
 
后退
顶部