グリット更新カーソル移動

type
TDummyDBGrid = class(TCustomDBGrid);
——————————————–>>>

procedure TForm1.Button1Click(Sender: TObject);
var
w_print,w_no : Integer;
w_sql : String;
RowCount, RN: Integer;
TopRowRecNo, CurrentRowNo: Integer;
begin

dm.sql_list.DisableControls;
CurrentRowNo := TDummyDBGrid(db_list).Row – 1;
TopRowRecNo := dm.sql_list.RecNo – CurrentRowNo;

if db_list.Fields[11].AsInteger = 0 then w_print := 1
else w_print := 0;

w_no := db_list.Fields[0].AsInteger;

w_sql := ‘UPDATE w_hurikomi_m SET w_hurikomi_m.print_flg = ‘ + IntToStr(w_print);
w_sql := w_sql + ‘ WHERE w_hurikomi_m.sql_no = ‘ + IntToStr(w_no);

with dm.ado_sql do begin
SQL.Clear;
SQL.Add(w_sql);
ExecSQL;
end;

dm.sql_list.Close;
dm.sql_list.Open;

// 指定レコードをTopRowに移動させる処理
RowCount := TDummyDBGrid(db_list).VisibleRowCount;
dm.sql_list.RecNo := TopRowRecNo;
dm.sql_list.MoveBy(RowCount);

while not dm.sql_list.BOF do
begin
RN := dm.sql_list.RecNo;
if RN = TopRowRecNo then
Break
else
dm.sql_list.Prior;
end;

// カーソルを元のカレントレコードに移動させる処理
dm.sql_list.MoveBy(CurrentRowNo);
dm.sql_list.EnableControls;

Result := True;

end;

文字列 + Null

連結する文字列にNULLが含まれている場合…下記表記参考!
strSQL := strSQL + ‘ ISNULL(a.name,’ + f + f + ‘) ‘ + ‘+’ + ‘ ISNULL(a.name_b,’ + f + f + ‘) as name_x, ‘;