数据库里的四个表:ZT1 , ZT2, ZT3 ,ZT4
ZT1表里面的Domain_Type字段记录
和ZT2表里面的DDns_Keyword字段记录对比,符合条件的在ZT1表里面Domain_Type字段记录项自动填写'动态'.
和ZT3表里面的White_Keyword字段记录模糊对比,符合条件的在ZT1表里面的Levels字段记录项自动填写'W'.
和ZT3表里面的black_Keyword字段记录模糊对比,符合条件的在ZT1表里面的Levels字段记录项自动填写'A'.
ADOConnection1来连接数据库.
ZT1表里面的Domain_Type字段记录
和ZT2表里面的DDns_Keyword字段记录对比,符合条件的在ZT1表里面Domain_Type字段记录项自动填写'动态'.
和ZT3表里面的White_Keyword字段记录模糊对比,符合条件的在ZT1表里面的Levels字段记录项自动填写'W'.
和ZT3表里面的black_Keyword字段记录模糊对比,符合条件的在ZT1表里面的Levels字段记录项自动填写'A'.
ADOConnection1来连接数据库.
where ZT1.Domain_Type=ZT2.DDns_Keywordupdate ZT1 set Levels='W' from ZT3
where ZT1.Domain_Type like ZT3.Write_Keyword +'%'update ZT1 set Levels='A' from ZT3
where ZT1.Domain_Type like ZT3.black_Keyword +'%'
where ZT1.Domain_Type like '%' + ZT3.Write_Keyword +'%' update ZT1 set Levels='A' from ZT3
where ZT1.Domain_Type like '%' + ZT3.black_Keyword +'%'
with form1.ADOQuery13 do
begin
Connection := form1.ADOConnection1;
if Active then
Active := False;
SQL.Clear;
SQL.Add('update DNSCACHE set Levels =''W'' from WhiteList where DNSCACHE.Domain_Type like '%' + WhiteList.Write_Keyword +'%' ');
try
Open;
except
end;
end;
帮忙看下,出错了
SQL.Add('update DNSCACHE set Levels ='+#39+'W'+#39+' from WhiteList where DNSCACHE.Domain_Type like %'+ WhiteList.Write_Keyword +'%')
like %'+ WhiteList.Write_Keyword +'%'??
#39就是单引号
你要获得单引就需要用这个加,
like %':这个引号左边是字符串,后面就跟变量什么的了。
+ WhiteList.Write_Keyword +'%':这个就是在后面加一个%'update DNSCACHE set Levels ='+#39+'W'+#39+' from WhiteList where DNSCACHE.Domain_Type like %'+ WhiteList.Write_Keyword +'%' 返回的是:'update DNSCACHE set Levels = ' W ' from WhiteList where DNSCACHE.Domain_Type like %xxx%'明白么
这样也不对吧
WhiteList表名,提示identifier
好象这样写不行
你这个是不行的,我以为WhiteList.Write_Keyword 是某个变量什么的呢。那应该这样:
'update DNSCACHE set Levels ='+#39+'W'+#39+' from WhiteList where DNSCACHE.Domain_Type like %WhiteList.Write_Keyword%' 返回的是:
update DNSCACHE set Levels = ' W ' from WhiteList where DNSCACHE.Domain_Type like %WhiteList.Write_Keyword% 先测一下上面的语句是否可以执行吧。
如果可以执行,上面的写法就没有问题的。