Einzelnen Beitrag anzeigen

mimi

Registriert seit: 1. Dez 2002
Ort: Oldenburg(Oldenburg)
2.008 Beiträge
 
FreePascal / Lazarus
 
#3

Re: gleiche einträge verhindern

  Alt 2. Sep 2006, 10:35
Geht leider nicht...

hier ist mein qullcode
Delphi-Quellcode:
procedure TForm1.InitDb(FileName:TFileName);
var
  slDBpath:String;
  i:Integer;
  isda:Boolean;
begin
  slDBpath:=ExtractFilepath(application.exename)+ 'test.db';
  sldb := TSQLiteDatabase.Create(slDBPath);

// if sldb.TableExists('testTable') then begin
// sSQL := 'DROP TABLE testtable';
// sldb.execsql(sSQL);
// end;


  if sldb.TableExists('testTable') = False then begin
    sSQL :='CREATE TABLE testtable ([Name] VARCHAR (255));';
    sldb.execsql(sSQL);
    sldb.execsql('CREATE INDEX TestTableName ON [testtable]([Name]);');
  end;

try
  sldb.BeginTransaction;
  sSQL := 'INSERT INTO testtable(Name) VALUES ("Some Name");';
  sldb.ExecSQL(sSQL);

  sSQL := 'INSERT INTO testtable(Name) VALUES ("Another Name");';
  sldb.ExecSQL(sSQL);
  sldb.Commit;
except
end;

   sltb := slDb.GetTable('SELECT * FROM testtable');
  for i:=0 to sltb.Count-1 do begin
    ListBox1.Items.add(sltb.FieldAsString(sltb.FieldIndex['Name']));
    sltb.Next;
  end;
end;
mir ist heute noch was anders eingefallen. ich weiß nur nicht ob sich das lohnen würde und zwar:
ich lege ein array an von typ tmyData z.b.
und in diesem record ist eine boolean variable und ein array of interger.
jetzt ich jedes zeichen durchgehen und umwandeln und nachschauen ob es diese zeichen mit dieser position schon gibt. könnt ihr folgende?

so müste ich nicht suchen und vorallen bei größeren datenmengen könnte diese verfahren praktisch sein vorrausgesetzt das es funktioniert und auch so klappt wie ich es mir vorstelle.

achja dieser array of interger brauche ich um dort die position des jeweiligen zeichen obzuspeichern.
Ich gehe ja jedes zeichen durch von string der hinzugefügt werden soll und füge diese in eine listbox ein.
bevor ich das mache wollte ich jedese zeichen in einer schleife durchgehen und prüfen ob es diesen zeichen schon gibt wenn ja, gibt es diese zeichen an der jeweiligen position.
jetzt wollte ich daraus ein string bilden und verleichen mit dem string den ich hinzufügen möchte. mit groß klein schreibung vergleichen. so die idee jetzt weiß ich nicht ob das wirklich schneller als z.b. die listbox jedes mal durchzugehen und zu schauen ob es dort schon ein entsprechden eintrag gibt...

ich hoffe ihr versteht was ich vorhabe....
Michael Springwald
MFG
Michael Springwald,
Bitte nur Deutsche Links angeben Danke (benutzte überwiegend Lazarus)
  Mit Zitat antworten Zitat