Hallo zusammen,
ich habe ein Problem in meine SQLite3 DB zu schreiben ... und zwar möchte ich Keywords mit den dazugehörigen ID's der URL's speichern von denen die genutzt werden ...
So baue ich die die DB auf:
Delphi-Quelltext
1: 2: 3:
| SQLExecString := 'CREATE TABLE KeywordTable ([ID] INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL UNIQUE, [URLID] INTEGER, [KEYWORD] TEXT, [USAGECOUNT] INTEGER);'; AnalyserResultDataBaseConnecton.Execute(SQLExecString,nil); |
So schreibe ich in die DB - in der CurrentItemID ist die jeweilige ID:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7:
| SQLQuery.Params.Clear; SQLQuery.Sql.Text := 'INSERT INTO KeywordTable(URLID, KEYWORD, USAGECOUNT) ' + 'VALUES (:URLID, :KEYWORD, :USAGECOUNT)'; SQLQuery.ParamByName('URLID').AsInteger := CurrentItemID; SQLQuery.ParamByName('KEYWORD').AsString := tempkeywords.Strings[j]; SQLQuery.ParamByName('USAGECOUNT').AsInteger := 1; SQLQuery.ExecSql; |
Normalerweise müsste ich am Ende eines Durchlaufes eine Tabelle haben mit Daten wie:
Keyword | ID | UsageCount
Test | 1 | 1
Test | 2 | 1
Test1 | 2 | 1
aber irgendwie lässt er keine "nahezu" doppelten einträge zu ... warum ?
Ich hoffe Ihr könnt mir helfen.
Grüße ins Forum und vielen Dank,
Andreas