요렇게 코딩을 했는데 제너럴 SQL에러가 나네요(문자가 부적합합니다)
고수님덜 부탁드립니다.
I := 0;
sqlcmd1 := 'update Proc_management set Start_flag = ''N'' ';
if sw_area <> 'ALL' then
begin
sqlcmd1 := sqlcmd1 + 'WHERE switch_area like '''+ sw_area +'%'' ';
I := 1;
end;
if sw_ID <> 'ALL' then
begin
if I = 0 then
begin
sqlcmd1 := sqlcmd1 + 'WHERE pg_type like '''+ prog_type +'%'' ';
I := 1;
end;
sqlcmd1 := sqlcmd1 + 'AND switch_id like '''+ sw_ID +'%'' ';
end;
if prog_type <> 'ALL' then
begin
if I = 0 then sqlcmd1 := sqlcmd1 + 'WHERE pg_type like '''+ pg_type+'%''';
sqlcmd1 := sqlcmd1 + 'AND pg_type like '''+ prog_type +'%''';
end;
sqlcmd1 := sqlcmd1 + ';';
with query1 do
begin
SQL.Clear;
DatabaseName := 'CDR2001';
SQL.Add(sqlcmd1);
showmessage(sqlcmd1);
query1.ExecSQL;
end;
I := 0;
sqlcmd1 := 'update Proc_management set Start_flag = ''N'' ';
if sw_area <> 'ALL' then
begin
sqlcmd1 := sqlcmd1 + 'WHERE switch_area like '''+ sw_area +'%'' ';
I := 1;
end;
if sw_ID <> 'ALL' then
begin
if I = 0 then
begin
sqlcmd1 := sqlcmd1 + 'WHERE pg_type like '''+ prog_type +'%'' ';
I := 1;
end;
sqlcmd1 := sqlcmd1 + 'AND switch_id like '''+ sw_ID +'%'' ';
end;
if prog_type <> 'ALL' then
begin
if I = 0 then sqlcmd1 := sqlcmd1 + 'WHERE pg_type like '''+ pg_type+'%''';
sqlcmd1 := sqlcmd1 + 'AND pg_type like '''+ prog_type +'%''';
end;
sqlcmd1 := sqlcmd1 + ';'; <--- 이부분은 필요없을듯...
with query1 do
begin
DatabaseName := 'CDR2001';
close <--- 추가해주시면 좋죠.. ^^
SQL.Clear;
SQL.Add(sqlcmd1);
showmessage(sqlcmd1);
ExecSQL;
end;