Я пытаюсь вставить некоторый текст в базу данных sqlite.Как вставить строку в sQlite.sdb (FireDac)?
Я использую подключение FireDac и Query FireDac (FDQuery1) для подключения к базе данных sqlite. Вот код.
FDQuery1.SQL.Text := 'select * from Invoice where Name = :Name';
FDQuery1.ParamByName('Name').AsString := '123';
FDQuery1.Open;
LinkListControlToField1.BindLink.FillList
Похоже, что в базу данных добавлена новая запись, но все поля равны нулю. В чем может быть проблема?
Теперь я использую
NEW_NAME:='dfddf';
SQL :='INSERT INTO INVOICE (Name) VALUES (:NEW_NAME)';
fdquery1.Close;
fdquery1.SQL.Text:= SQL;
FdQuery1.Open();
FDQuery1.Insert;
//Fdquery1.ParamByName('New_Name').AsString := NEW_NAME;
//fdquery1.SQL.Text:='INSERT INTO INVOICE (Name) VALUES (:NEW_NAME)';
fdquery1.FieldByName('Name').AsString := quotedstr(NEW_NAME);
//fdquery1.ExecSQL();
fdquery1.Post;
Я получаю eerror сообщение. FireDac, Phys, Sqlite - 308 Невозможно открыть/определить команду, которая не возвращает результирующие наборы. Подсказка использовать Execute? ExecSql metnod для команд без выбора.
Как вы можете видеть из прокомментированного кода, я пытаюсь выполнить ExecSql, но такую же ошибку.
'Выбрать' заявления ... выберите данные из базы данных. Они не вставляют * данные. –
Посмотрите здесь, по-разному: http://stackoverflow.com/questions/18822687/best-way-to-insert-data-using-dephi-in-sql-server-2008 – bummi
Код должен выглядеть так: это: 1. INSERT INTO .... 2. Post - совершить транзакцию. – Arkady