2015-10-09 4 views
0

Я пытаюсь вставить новую запись в свою базу данных с помощью SQL, но она продолжает говорить мне, что у меня есть синтаксическая ошибка в предложении from.Ошибка синтаксиса в SQL SELECT INTO FROM из Delphi

Я не вижу ошибки.

Вот код:

procedure TForm1.BitBtn7Click(Sender: TObject); 
var 
sCategoryName :string; 
begin 
sCategoryName := InputBox('Category Name', 'Please enter your category name that you would like to add',''); 
with dmRecords do 
    begin 
    qryRecords.Active := False; 
    qryRecords.SQL.Add('INSERT INTO [Category of Income]([Category Name])'); 
    qryRecords.SQL.Add('VALUES ' + '(' + QuotedStr(sCategoryName) + ')'); 
    qryRecords.ExecSQL; 
    qryRecords.SQL.Add('SELECT * FROM [Category of Income] ORDER BY [Category ID]'); 
    qryRecords.Active := True; 
    end; 
end; 
+1

В качестве опоры, пожалуйста, прекратите использование конкатенированных операторов SQL, используйте вместо этого параметры. Вы уязвимы для [SQL injection.] (Https://en.wikipedia.org/wiki/SQL_injection) – whosrdaddy

ответ

1

Вы не очистили SQL от предыдущего оператора. Когда вы открываете запрос, SQL имеет три строки текста.

Добавить qryRecords.SQL.Clear перед добавлением оператора SELECT.

Смежные вопросы