데이터베이스에서 DoctorID는 정수 열입니다. 편집 된 "//"코드 줄도 작동하지 않습니다. 누군가가 SQL 문에서 정수 값을 올바르게 지정하는 방법을 보여줄 수 있다면 정말 고마워 할 것입니다.델파이의 SQL (삭제) 문에 정수 값을 포함하는 방법
qryDoctors.SQL.Add('DELETE FROM Doctors WHERE DoctorID = iID ')
와
procedure TForm1.btnDeleteDocClick(Sender: TObject);
var
iID : Integer;
begin
iID := StrToInt (InputBox('Delete Doctor','Please enter in your Doctor ID',''));
with dmHospital do
begin
qryDoctors.SQL.Clear;
//qryDoctors.SQL.Add('DELETE FROM Doctors WHERE DoctorID = iID ') ;
//qryDoctors.SQL.Add('DELETE FROM Doctors WHERE DoctorID = ' + QuotedStr(iID));
qryDoctors.ExecSQL;
qryDoctors.SQL.Clear;
qryDoctors.SQL.Add('SELECT * FROM Doctors');
qryDoctors.Open;
end;
end;
사용중인 데이터베이스 구성 요소를 모르지만 SQL 문에서 매개 변수를 사용하는 방법을 검색하십시오. 일반적으로 문장에': Param01'을 쓰고 어떤 식 으로든 값을 전달합니다. – rgoliveira
'InputBox()'는 사용자가 대화 상자를 취소하면'ADefault' 매개 변수 값을 반환합니다. 이 경우 빈 문자열입니다. 또는,'InputQuery()'를 대신 사용하십시오. 대화 상자가 받아 들여지거나 취소되었는지를 나타내는'Boolean'을 반환합니다. 그러나 사용자는 여전히 공백 값을 입력 할 수 있습니다. 어느 쪽이든, SQL 문을 준비하기 전에 유효하지 않은 입력을 확인해야합니다. –