帮忙看句SQL语句

tjj5203 2011-01-24 11:06:30

function TDataForm.AlterTDataTable: Byte;
var
SQLStr:string;
TableName,ColumnName:string;
begin
TableName:='TData';
ColumnName:='[员工ID]';
SQLStr:='if exists(select * from syscolumns where id=object_id('''+tableName+''') and name='''+columnName+''')';
with DataModule1.CreateTableQuery do
begin
Close;
SQL.Clear;
SQL.Add(SQLStr);
ExecSQL;
end;
end;

SQLStr有语法错误,第一行')'附近有语法错误!
...全文
113 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
bdmh 2011-01-24
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 tjj5203 的回复:]
恩,用月亮的这样可以了,ADO不支持 if exists语句吗?
[/Quote]
是否支持这是数据库引擎的问题,不是ado的问题
hongqi162 2011-01-24
  • 打赏
  • 举报
回复
不支持
tjj5203 2011-01-24
  • 打赏
  • 举报
回复
恩,用月亮的这样可以了,ADO不支持 if exists语句吗?
hongqi162 2011-01-24
  • 打赏
  • 举报
回复
SQLStr:='if exists(select * from syscolumns where id=object_id('''+tableName+''') and name='''+columnName+''')';

可以使用if exists么?

是不是应该使用判断count(*)返回结果

SQLStr:='select count(*) from syscolumns where id=object_id('''+tableName+''') and name='''+columnName+'''';


tjj5203 2011-01-24
  • 打赏
  • 举报
回复
SQLStr:='if exists(select * from syscolumns where id='''+tableName+''' and name='''+columnName+''')';你的意思是这样?
bdmh 2011-01-24
  • 打赏
  • 举报
回复
where id=object_id('''+tableName+'''),这是什么id=object_id不就行了,怎么还跟一个tablename

2,495

社区成员

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

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