بعد از چند روز خودم به خودم جواب میدم:
یه تابع بنویس که مقدار رو چک کنه و مقدار صحیح را برای متن SQL برگردونه. مثل زیر:
function GetNumberValueForSQL( Value: Variant ): String;
begin
if (VarToStr(Value) = '') then
begin
Result := 'Null';
end
else
begin
Result := VarToStr( Value );
end;
end;
بعد از اون استفاده کن:
MySQL := 'Insert Into MyTable ' +
'(' + 'Code1, Code2' + ')' + ' Values ' +
'(' + GetNumberValueForSQL(Table2.FieldByName('Field1'). Value) + ',' +
GetNumberValueForSQL(Table2.FieldByName('Field2'). Value) + ')';