首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

创建字段后直接更新值,会报错,请大家进来帮帮忙。该怎么解决

2012-03-23 
创建字段后直接更新值,会报错,请大家进来帮帮忙。sqlstr:if not exists(select 1 from syscolumns a inne

创建字段后直接更新值,会报错,请大家进来帮帮忙。
sqlstr:='if not exists(select 1 from syscolumns a inner join sysobjects b on a.id=b.id where b.type=''U'' and b.name=''SpKuCun'' and a.name=''Spdj'') begin '+#13+
  'alter table SpKuCun add spdj Money default 0 '+#13+
  'update spKuCun set spdj=0 end';

  with DataModule1.QrySearch do
  begin
  close;
  sql.Clear;
  sql.Text:=sqlstr;
  ExecSQL;
  end;

我上面的语句,是检查spKuCun 表中的spdj 字段是否存在,不存在则创建,然后更新所有值为0.

如果不加update spKuCun set spdj=0 这句,则正常,加了以后会报错,请问要怎么处理呢?

[解决办法]
为了实现目的可以用另外一种写法:
sqlstr:='if not exists(select 1 from syscolumns a inner join sysobjects b on a.id=b.id where b.type=''U'' and b.name=''SpKuCun'' and a.name=''Spdj'') begin '+#13+
'alter table SpKuCun add spdj Money default 0 with values';

热点排行