Autor Beitrag
NOS1971
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 193

Windows 8.1 PRO 64 Bit
Delphi XE7 Professional
BeitragVerfasst: Do 20.03.14 11:45 
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:

ausblenden Delphi-Quelltext
1:
2:
3:
 // keyword table
 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:

ausblenden 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
baumina
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 305
Erhaltene Danke: 61

Win 7
Delphi 10.2 Tokyo Enterprise
BeitragVerfasst: Do 20.03.14 11:48 
Zitat:
aber irgendwie lässt er keine "nahezu" doppelten einträge zu ... warum ?


Wie lautet die Fehlermeldung beim ExecSQL?

Für diesen Beitrag haben gedankt: NOS1971
NOS1971 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 193

Windows 8.1 PRO 64 Bit
Delphi XE7 Professional
BeitragVerfasst: Do 20.03.14 13:51 
Also ich glaube grad das Problem liegt noch an einer anderen Stelle ... ich werde da nochmal was umstellen bevor ich mich dem Fehler widme um einen anderen Fehler auszuschliessen