AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Fehler bei Index

Ein Thema von SaFu · begonnen am 4. Jan 2008 · letzter Beitrag vom 5. Jan 2008
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von SaFu
SaFu

Registriert seit: 8. Nov 2006
1.360 Beiträge
 
Delphi 10.3 Rio
 
#1

Fehler bei Index

  Alt 4. Jan 2008, 23:23
Datenbank: Paradoxx • Version: ? • Zugriff über: Datasource
Hi kann mir jemand sagen wo hier der Fehler liegt bekomme einen index fehler wenn ich im Editfeld versuche einen Buchstaben einzu geben

Delphi-Quellcode:
procedure TForm1.Tabelleerst;
begin
 Table1.close;
  getdir(0,Pfad);
   With Table1 Do //Tabelle erzeugen
     begin
      DatabaseName:= (ExtractFilePath(ParamStr(0)) + 'Adress\'); //Pfad zur Tabelle
      Form2.Table1.DatabaseName:= (ExtractFilePath(ParamStr(0)) + 'Adress\');
      TableName:= 'Adress.DB';
      Form2.Table1.TableName:= 'Adress.DB';
      TableType:= ttParadox;
     end;
      if not FileExists(ExtractFilePath(ParamStr(0)) + 'Adress\Adress.DB') then
        begin
          With Table1 Do
            begin
              with FieldDefs Do //Datenfelder erzeugen
                begin
                 Clear;
                 Add('Nr.',ftAutoInc,0,True);
                 Add('SName',ftString,30,True);
                 Add('SStraße',ftString,30,False);
                 Add('SOrt',ftString,30,False);
                end;
                  with IndexDefs do //Index Schlüssel erzeugen
                   begin
                    Clear;
                    Add('Nr','Nr.',[ixPrimary, ixUnique]); // Primär Index
                   end;
                    CreateTable;
                end;
        end;
     Table1.Active:= True; //Tabelle1 auf Form1 aktivieren
    Form2.Table1.Active:= True; //Tabelle1 auf Form2 aktivieren
end;

procedure TForm1.Edit1Change(Sender: TObject);
begin
  With Table1 do
   begin
    IndexName:= 'Nr.';
    SetKey;
    FieldByName('SName').AsString:= Edit1.Text;
    GotoNearest;
   end;
end;
"... Wie gesagt, die Nutzer von 10, 12, 14 Zoll Display's werden deine Seite nicht in voller Pracht sehen können, ...

Surft Ihr mit dem Taschenrechner?"
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.195 Beiträge
 
Delphi 10.4 Sydney
 
#2

Re: Fehler bei Index

  Alt 4. Jan 2008, 23:54
Lass mal im Indexnamen den Punkt weg. Könnte die BDE verwirren da der Punkt auch für andere Dinge reverviert ist.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Benutzerbild von SaFu
SaFu

Registriert seit: 8. Nov 2006
1.360 Beiträge
 
Delphi 10.3 Rio
 
#3

Re: Fehler bei Index

  Alt 4. Jan 2008, 23:56
dann bekomme ich auch einen fehler " feld SName ist nicht indiziert und kann nicht verändert werden
"... Wie gesagt, die Nutzer von 10, 12, 14 Zoll Display's werden deine Seite nicht in voller Pracht sehen können, ...

Surft Ihr mit dem Taschenrechner?"
  Mit Zitat antworten Zitat
Benutzerbild von SaFu
SaFu

Registriert seit: 8. Nov 2006
1.360 Beiträge
 
Delphi 10.3 Rio
 
#4

Re: Fehler bei Index

  Alt 5. Jan 2008, 00:34
ok habe es falls es jemand interessiert

Delphi-Quellcode:
procedure TForm1.Tabelleerst;
begin
Table1.close;
  getdir(0,Pfad);
   With Table1 Do //Tabelle erzeugen
     begin
      DatabaseName:= (ExtractFilePath(ParamStr(0)) + 'Adress\'); //Pfad zur Tabelle
      Form2.Table1.DatabaseName:= (ExtractFilePath(ParamStr(0)) + 'Adress\');
      TableName:= 'Adress.DB';
      Form2.Table1.TableName:= 'Adress.DB';
      TableType:= ttParadox;
     end;
      if not FileExists(ExtractFilePath(ParamStr(0)) + 'Adress\Adress.DB') then
        begin
          With Table1 Do
            begin
              with FieldDefs Do //Datenfelder erzeugen
                begin
                 Clear;
                 Add('Nr',ftAutoInc,0,True);
                 Add('SName',ftString,30,True);
                 Add('SStraße',ftString,30,False);
                 Add('SOrt',ftString,30,False);
                end;
                  with IndexDefs do //Index Schlüssel erzeugen
                   begin
                    Clear;
                    Add('Nr','Nr',[ixPrimary, ixUnique]); // Primär Index
                    Add('SName','SName',[]);
                   end;
                    CreateTable;
                end;
        end;
     Table1.Active:= True; //Tabelle1 auf Form1 aktivieren
    Form2.Table1.Active:= True; //Tabelle1 auf Form2 aktivieren
end;

procedure TForm1.Edit1Change(Sender: TObject);
begin
  With Table1 do
   begin
    IndexName:= 'SName';
    SetKey;
    FieldByName('SName').AsString:= Edit1.Text;
    GotoNearest;
   end;
end;
"... Wie gesagt, die Nutzer von 10, 12, 14 Zoll Display's werden deine Seite nicht in voller Pracht sehen können, ...

Surft Ihr mit dem Taschenrechner?"
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.275 Beiträge
 
Delphi 10.4 Sydney
 
#5

Re: Fehler bei Index

  Alt 5. Jan 2008, 09:21
Hallo,

einfacher ist es,
das ganze über eine Query zu machen.

z.B.

Create Index idx_Address_sName on Address(sName)
Heiko
Heiko
  Mit Zitat antworten Zitat
Benutzerbild von SaFu
SaFu

Registriert seit: 8. Nov 2006
1.360 Beiträge
 
Delphi 10.3 Rio
 
#6

Re: Fehler bei Index

  Alt 5. Jan 2008, 09:23
mit der Query kenn ich mich net so aus wie und was mus da eingestelt werden.

Brauch ich dann auch ein DBEdit oder funzt das auch mit einem Edit?
Kann ich dan im selben Edit auch noch nach anderen Feldern suchen??

fragen über Fragen
"... Wie gesagt, die Nutzer von 10, 12, 14 Zoll Display's werden deine Seite nicht in voller Pracht sehen können, ...

Surft Ihr mit dem Taschenrechner?"
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.275 Beiträge
 
Delphi 10.4 Sydney
 
#7

Re: Fehler bei Index

  Alt 5. Jan 2008, 11:00
Hallo

Delphi-Quellcode:
var
  sFoundName: String

with Query do
begin
  SQL.Clear;
  SQL.Add('Select * From Table');
  SQL.Add('Where SName=:SName');
  ParamByName('SName').AsString:= Edit_Search.Text; /// normaler TEdit
  Open;
  try
    if QueryIsNotEmpty then
    begin
      sFoundName:= FieldByName('SName').AsString;

     // bei mehreren Suchergebnissen folgendes
      while not EOF do
      begin
        sFoundName:= FieldByName('SName').AsString;
       // mache was mit sFoundName

        Next;
      end;

    end;
  finally
    Close;
  end;
end;
Am besten mal im DB Tutorial nachsehen


Heiko
Heiko
  Mit Zitat antworten Zitat
Benutzerbild von SaFu
SaFu

Registriert seit: 8. Nov 2006
1.360 Beiträge
 
Delphi 10.3 Rio
 
#8

Re: Fehler bei Index

  Alt 5. Jan 2008, 12:12
Kann es sein das das hier nicht stimmt
if QueryIsNotEmpty then
"... Wie gesagt, die Nutzer von 10, 12, 14 Zoll Display's werden deine Seite nicht in voller Pracht sehen können, ...

Surft Ihr mit dem Taschenrechner?"
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.275 Beiträge
 
Delphi 10.4 Sydney
 
#9

Re: Fehler bei Index

  Alt 5. Jan 2008, 13:44
Hallo,

eigentlich nicht.
Falls er das nicht findet

if not IsEmpty then Sinn ist auf jeden Fall, nachdem Open festzustellen,
ob überhaupt was gefunden wurde.

Du kannst das auch mit

if not Query.EOF machen.

Das IsEmpty hat Borland irgendwann mal eingeführt (Delphi 5?)


Heiko
Heiko
  Mit Zitat antworten Zitat
Benutzerbild von SaFu
SaFu

Registriert seit: 8. Nov 2006
1.360 Beiträge
 
Delphi 10.3 Rio
 
#10

Re: Fehler bei Index

  Alt 5. Jan 2008, 14:06
Also bei mir tut sich garnichts was mach ich falsch

Delphi-Quellcode:
procedure TForm1.Edit2Change(Sender: TObject);
var sFoundName: String;
begin
with Query1 do
begin
  SQL.Clear;
  SQL.Add('Select * From Artikel.db');
  SQL.Add('Where Artikel=:Artikel');
  ParamByName('Artikel').AsString:= Edit2.Text; /// normaler TEdit
  Open;
  try
   if not Query1.EOF then
    begin
      sFoundName:= FieldByName('Artikel').AsString;
      showmessage(sFoundName);

     // bei mehreren Suchergebnissen folgendes
      while not EOF do
      begin
        sFoundName:= FieldByName('Artikel').AsString;
       // mache was mit sFoundName

        Next;
      end;
    end;
  finally
    Close;
  end;
 end;
end;
"... Wie gesagt, die Nutzer von 10, 12, 14 Zoll Display's werden deine Seite nicht in voller Pracht sehen können, ...

Surft Ihr mit dem Taschenrechner?"
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:47 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz