begin
if form1.DBGridEh7.SelectedRows.Count >0 then
begin
ADOQueryWhiteList.Connection := form1.ADOConnection1;
for i := 0 to form1.DBGridEh7.SelectedRows.Count - 1 do
begin
form1.DBGridEh7.DataSource.DataSet.GotoBook(pointer(form1.DBGridEh7.SelectedRows.Items[i]));
if form1.DBGridEh7.DataSource.DataSet.FieldValues['White_Keyword'] <> Null then
s1 := form1.DBGridEh7.DataSource.DataSet.FieldValues['White_Keyword']
else
s1 := '';
with form1.ADOQueryWhiteList do
[color=#FF9900 begin [/color][/color]
DisableControls;
form1.ADOQueryWhiteList.SQL.Clear;
sSql := 'update DNSCACHE set Levels =:Levels where DNSCACHE.Domain like :White_Keyword'; ;
form1.ADOQueryWhiteList.SQL.Text := sSql;
Parameters.ParamByName('Levels').Value := 'W';
Parameters.ParamByName('White_Keyword').Value :='%'+s1+'%';
try
Prepared := True;
ExecSQL;
except
end;
EnableControls;
end;
end;
Form1.DBGridEh7.selectedrows.clear;
Application.MessageBox('对比完成','对比',MB_OK);
end;
end;
选择多条记录进行操作,第一条记录完成循环操作,循环到第二条记录,红色标记那里以后,就出现提示:list index out of bounds (1),麻烦高手帮看下,从程序上看,橙色的begin end 好象没运行到.请高手指点下该怎么改?
if form1.DBGridEh7.SelectedRows.Count >0 then
begin
ADOQueryWhiteList.Connection := form1.ADOConnection1;
for i := 0 to form1.DBGridEh7.SelectedRows.Count - 1 do
begin
form1.DBGridEh7.DataSource.DataSet.GotoBook(pointer(form1.DBGridEh7.SelectedRows.Items[i]));
if form1.DBGridEh7.DataSource.DataSet.FieldValues['White_Keyword'] <> Null then
s1 := form1.DBGridEh7.DataSource.DataSet.FieldValues['White_Keyword']
else
s1 := '';
with form1.ADOQueryWhiteList do
[color=#FF9900 begin [/color][/color]
DisableControls;
form1.ADOQueryWhiteList.SQL.Clear;
sSql := 'update DNSCACHE set Levels =:Levels where DNSCACHE.Domain like :White_Keyword'; ;
form1.ADOQueryWhiteList.SQL.Text := sSql;
Parameters.ParamByName('Levels').Value := 'W';
Parameters.ParamByName('White_Keyword').Value :='%'+s1+'%';
try
Prepared := True;
ExecSQL;
except
end;
EnableControls;
end;
end;
Form1.DBGridEh7.selectedrows.clear;
Application.MessageBox('对比完成','对比',MB_OK);
end;
end;
选择多条记录进行操作,第一条记录完成循环操作,循环到第二条记录,红色标记那里以后,就出现提示:list index out of bounds (1),麻烦高手帮看下,从程序上看,橙色的begin end 好象没运行到.请高手指点下该怎么改?
解决方案 »
- 谁帮我详细介绍一下varient类型和olevarient类型
- 无理由无条件理所当然的散分~
- 过年不回家,找份事情做!报酬面议!
- 為何我把memo當中的內容存入mssql數據庫會出現以下問題
- 谁有:在程序运行时可任意移动、调整控件大小的控件
- 怎样获得word文档的行、列、位置信息?
- 会delphi的朋友请进:关于调用vc组件含safearray参数的方法,帮忙up也一定送分!
- 100分!!!!!!!!!!!!!!
- checklistbox有没有指示全部选中的属性?
- 我想在一个窗体最小化时做些事情,为什么找不到对应的事件?我该怎么做?
- delphi中copy函数出问题, 请指教 急
- 帮忙写一个小小程序,ComboBox的
是不是
form1.ADOQueryWhiteList
啊你在下面已经execsql了一个update语句,就不存在数据集了下面要用的时候就出错了
begin
begin
if DBGridEh7.SelectedRows.Count >0 then
begin
ADOQueryWhiteList.Connection := form1.ADOConnection1;
for i := 0 to DBGridEh7.SelectedRows.Count - 1 do
begin
DBGridEh7.DataSource.DataSet.GotoBook(pointer(form1.DBGridEh7.SelectedRows.Items[i]));
if form1.DBGridEh7.DataSource.DataSet.FieldValues['White_Keyword'] <> Null then
s1 := form1.DBGridEh7.DataSource.DataSet.FieldValues['White_Keyword']
else
s1 := '';
with AdoQuery2 do //这里不要用adoquerywhitelist换一个
begin
DisableControls;
Close;
SQL.Text := 'update DNSCACHE set Levels =:Levels where DNSCACHE.Domain like :White_Keyword'; ;
Parameters.ParamByName('Levels').Value := 'W';
Parameters.ParamByName('White_Keyword').Value :='%'+s1+'%';
try
Prepared := True;
ExecSQL;
except
end;
EnableControls;
end;
end;
Form1.DBGridEh7.selectedrows.clear;
Application.MessageBox('对比完成','对比',MB_OK);
end;
end;
end;