我想插入一些文本到sqlite數據庫。如何將字符串插入sQlite.sdb(FireDac)?
我正在使用FireDac連接和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無法打開/定義命令,因爲它不返回結果集。提示使用執行? ExecSql metnod用於非Select命令。
正如您從註釋代碼中看到的,我正在嘗試使用ExecSql,但發生同樣的錯誤。
'選擇' 語句......選擇數據從數據庫中。他們不會*插入*數據。 –
看看這裏,爲不同的方式:http://stackoverflow.com/questions/18822687/best-way-to-insert-data-using-dephi-in-sql-server-2008 – bummi
代碼應該看起來像這個:1. INSERT INTO .... 2.發佈 - 提交事務。 – Arkady