我想在查詢中插入或附加一個查詢,該查詢具有數據庫中的默認值的列,但是在從Delphi包含寄存器時未設置此列。字段在TQuery中具有缺省值時插入或附加寄存器
我認爲在改變我的追加和插入的條款,而是我刪除了具有默認值,併爲空的字段,但我不知道這是否是簡單的方法。
我的表是:
CREATE TABLE TABLETEST( ID INTEGER NOT NULL, 領域INTEGER DEFAULT 10 );看到
我的德爾福代碼,如果是插入正確的值是:
Query1.SQL.Clear;
Query1.SQL.Add('SELECT * FROM TableTest order by ID');
Query1.Open;
Query1.Last;
ID := Query1.FieldByName('ID').AsInteger;
inc(ID);
Query1.Insert;
Query1.FieldByName('ID').AsInteger := ID;
Query1.Post;
inc(ID);
Query1.Append;
Query1.FieldByName('ID').AsInteger := ID;
Query1.Post;
Query1.ApplyUpdates;
Query1.CommitUpdates;
**查詢1在TQuery的
當我做一個插入或追加查詢,並做一個職位。 –
通過寄存器,我認爲你的意思是自動遞增的值。在這種情況下,你不會在你的代碼中分配一個;當INSERT完成時,數據庫會爲你分配它。根據您使用的RDBMS,通常可以在完成後從數據庫中檢索值,但我無法提供有關如何執行此操作的建議,因爲您沒有爲DBMS包含標記使用。 –
@KenWhite從他的評論我相信他說的「註冊」意味着填寫插入或追加後跟一個職位,在這種情況下,他填充「ID」字段,而不是「字段」字段,但收到NULLS而不是默認價值10 –