delphi 用ADOquery 删除 数据库中的字段 想弹框提示,但是我实习不了

liuleijava 2012-09-03 11:43:28
procedure TForm1.ZdDeleteClick(Sender: TObject);
begin


query.Close;
query.SQL.Clear;
query.SQL.Text := 'alter table tChildren drop column '+Trim(zdedit.Text);
query.ExecSQL;
end;

这个是我删除字段的代码,但是我把字段删除了以后再删除一次就报错,我想用个if 然后如果字段不存在,就弹出一个窗口说字段不存在,请重新输入。。。。

求高端大大指导一下
...全文
101 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
kaikai_kk 2012-09-03
  • 打赏
  • 举报
回复
判斷一下

query.SQL.Add('if col_length(''tChildren'',''+Trim(zdedit.Text)+'') is not null');
query.SQL.Add('alter table tChildren drop column '+Trim(zdedit.Text));
liuleijava 2012-09-03
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 的回复:]
引用 1 楼 的回复:
你干脆try...except的了,要不还得获取一下字段列表,看看在不在

try
query.Close;
query.SQL.Clear;
query.SQL.Text := 'alter table tChildren drop column '+Trim(zdedit.Text);
query.ExecSQL;
except
……
[/Quote]


那么如果要实现 如果那一列已经删除了,然后就停止查询继续运行呢?
liuleijava 2012-09-03
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 的回复:]
引用 1 楼 的回复:
你干脆try...except的了,要不还得获取一下字段列表,看看在不在

try
query.Close;
query.SQL.Clear;
query.SQL.Text := 'alter table tChildren drop column '+Trim(zdedit.Text);
query.ExecSQL;
except
……
[/Quote]


那么如果要实现 如果那一列已经删除了,然后就停止查询继续运行呢?
liuleijava 2012-09-03
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]
你干脆try...except的了,要不还得获取一下字段列表,看看在不在
[/Quote]
try
query.Close;
query.SQL.Clear;
query.SQL.Text := 'alter table tChildren drop column '+Trim(zdedit.Text);
query.ExecSQL;
except
.....


bdmh 2012-09-03
  • 打赏
  • 举报
回复
你干脆try...except的了,要不还得获取一下字段列表,看看在不在

2,497

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 数据库相关
社区管理员
  • 数据库相关社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧