2015-12-14 138 views
2

我使用delphi在MS Access中創建數據庫,但是當我單擊按鈕將表添加到數據庫時,它將語法標記爲不正確。使用外鍵時create table語句中的語法錯誤

cs:='CREATE TABLE tblRecordOfGames ('+ 
    'Username Varchar CONSTRAINT FK_Username '+ 
    'REFERENCES tblUsers (Username),'+ 
    'TimeOfGame Date/Time,'+ 
    'MovesTaken Integer(3)'+ 
    'OptimalMoves Integer(3)'+ 
    'PercentageofOptimalMoves Double(5)'+ 
    'CreditsWon Integer'+ 
    'CreditsLost Integer)'; 

ADOCommand1.CommandText:=cs; 
ADOCommand1.Execute; 

我認爲這與我想要添加鍵值的方式有問題,但我一直有一個很難找到工作的例子。

回答

1

你的一些數據類型是錯誤的,你錯過了幾個逗號。
設置字段大小/精度僅適用於TEXT和DECIMAL類型。

參見http://allenbrowne.com/ser-49.html(DDL欄)。

雖然您的CONSTRAINT有效。 :)

試試這個:

CREATE TABLE tblRecordOfGames (
    Username Text(50) CONSTRAINT FK_Username REFERENCES tblUsers (Username), 
    TimeOfGame DateTime, 
    MovesTaken Integer, 
    OptimalMoves Integer, 
    PercentageofOptimalMoves Double, 
    CreditsWon Integer, 
    CreditsLost Integer) 

注意:您要添加主鍵。

+0

感謝隊友完美地工作,我有主鍵的聲明作爲一個單獨的命令。當我遇到問題時把它拿出來。 – CMCK123

相關問題