Hallo Tobias,
die Fehlerursache dürften die fehlenden single quotes um den string PhoneNo sein.
Bei mir würde dein Code etwa so aussehen:
Delphi-Quellcode:
uses
Masks;
procedure TDemoForm.NewButtonClick(Sender: TObject);
const
FMT_SEL = '
SELECT * FROM ComMeth WHERE Phone = %s';
FMT_INS = '
INSERT INTO ComMeth (Phone) VALUES (%s)';
FMT_ERR = '
Phone number already exists.'#13#13'
%s';
var
sPhone:
string;
begin
sPhone := Trim(InputBox('
Add Phone Number', '
Please add a valid phone number', '
'));
if (sPhone = '
')
or not MatchesMask(sPhone, '
[0-9][0-9][0-9]-[0-9][0-9][0-9]-[0-9][0-9][0-9][0-9]')
then
Exit;
with DBModule.Query
do
begin
SQL.Text := Format(FMT_SEL, [QuoteStr(sPhone)]);
Open;
if IsEmpty
then
begin
SQL.Text := Format(FMT_INS, [QuotedStr(sPhone)]);
ExecSQL;
end else
begin
ShowMessage(Format(FMT_ERR, [sPhone]));
Close;
end;
end;
end;
Getippt und nicht getestet.
Freundliche Grüße