Autor Beitrag
D. Annies
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 1843

windows 7
D6 Enterprise, D7 Pers und TD 2006
BeitragVerfasst: So 29.06.08 13:01 
Hi, Delpher,

wer kann helfen?

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
with form1.QSchueler do
  begin
    Close; SQL.Clear;
      SQL.Text := format('CREATE INDEX IDX_NA_VN on "%s" (Name, Vorname)', [form1.TbSchueler.tablename]);
    ExecSQL;
  end;
  showmessage('Fertig');


Fehlermeldung siehe oben, kein Meckern beim Compiler.

Danke,
Detlef

_________________
ut vires desint, tamen est laudanda voluntas
mkinzler
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 4106
Erhaltene Danke: 13


Delphi 2010 Pro; Delphi.Prism 2011 pro
BeitragVerfasst: So 29.06.08 13:15 
Ich würde (SQL-)Parameter verwenden

_________________
Markus Kinzler.
D. Annies Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 1843

windows 7
D6 Enterprise, D7 Pers und TD 2006
BeitragVerfasst: So 29.06.08 18:39 
Hi, Markus,

vielen Dank für deine schnelle Antwort, habe sie erst jetzt gelesen - wenn ich nur wüsste, was SQL-Parameter sind. :roll:

Detlef

_________________
ut vires desint, tamen est laudanda voluntas
mkinzler
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 4106
Erhaltene Danke: 13


Delphi 2010 Pro; Delphi.Prism 2011 pro
BeitragVerfasst: So 29.06.08 18:55 
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
with form1.QSchueler do
  begin
    Close; 
      SQL.Text :='CREATE INDEX IDX_NA_VN on :table (Name, Vorname)';
      SQL.ParamByName('tab').Value := form1.TbSchueler.tablename;
    ExecSQL;
  end;
  showmessage('Fertig');

_________________
Markus Kinzler.
D. Annies Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 1843

windows 7
D6 Enterprise, D7 Pers und TD 2006
BeitragVerfasst: So 29.06.08 19:04 
Hi, Markus,

leider: Undefinierter Bezeichner: ParamByName

Gruß, Detlef

_________________
ut vires desint, tamen est laudanda voluntas
D. Annies Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 1843

windows 7
D6 Enterprise, D7 Pers und TD 2006
BeitragVerfasst: So 29.06.08 19:14 
Hi, Markus,

ich habe jetzt SQL vor parambyname weggelassen, compiliert, aber jetzt kommt:
Parameter 'table' nicht gefunden.

Detlef

_________________
ut vires desint, tamen est laudanda voluntas
mkinzler
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 4106
Erhaltene Danke: 13


Delphi 2010 Pro; Delphi.Prism 2011 pro
BeitragVerfasst: So 29.06.08 19:25 
Man(ich) sollte die Bezeichnung auch durchgehend beibehalten
ausblenden Delphi-Quelltext
1:
SQL.Text :='CREATE INDEX IDX_NA_VN on :tab (Name, Vorname)';					

_________________
Markus Kinzler.
D. Annies Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 1843

windows 7
D6 Enterprise, D7 Pers und TD 2006
BeitragVerfasst: So 29.06.08 19:41 
Hi, Markus, das hatte ich schon gesehen und beidesmal auf tab geändert, aber mit der
obigen Fehlermeldung. (grr)

Gruß, Detlef

_________________
ut vires desint, tamen est laudanda voluntas
mkinzler
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 4106
Erhaltene Danke: 13


Delphi 2010 Pro; Delphi.Prism 2011 pro
BeitragVerfasst: So 29.06.08 19:49 
Versuch mal SQL.Text :='CREATE INDEX IDX_NA_VN on '+ QoutedStr(form1.TbSchueler.tablename)+' (Name, Vorname)';

_________________
Markus Kinzler.
D. Annies Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 1843

windows 7
D6 Enterprise, D7 Pers und TD 2006
BeitragVerfasst: So 29.06.08 20:01 
Hi, Markus: Allgemeiner SQL-Fehler, Syntax Error (QuotedString habe ich verbessert)
Detlef

_________________
ut vires desint, tamen est laudanda voluntas
alzaimar
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 2889
Erhaltene Danke: 13

W2000, XP
D6E, BDS2006A, DevExpress
BeitragVerfasst: So 29.06.08 22:23 
Wieso ist der Tabellenname ein Stringparameter? :wink: Vielleicht einfach mal die Hochkommata/Gänsefüschen weglassen und vielleicht in [] einklammern.
ausblenden SQL-Anweisung
1:
CREATE INDEX indexname ON Tabelle (Spalte1,...)					

_________________
Na denn, dann. Bis dann, denn.
D. Annies Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 1843

windows 7
D6 Enterprise, D7 Pers und TD 2006
BeitragVerfasst: So 29.06.08 22:55 
Hi, Alzaimer,

leider gehen auch diese beiden Möglichkeiten nicht. [Fast alles geht?]

Gruß,
Detlef

_________________
ut vires desint, tamen est laudanda voluntas
alzaimar
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 2889
Erhaltene Danke: 13

W2000, XP
D6E, BDS2006A, DevExpress
BeitragVerfasst: Mo 30.06.08 08:12 
Ich glaube, das Problem liegt nicht in der Syntax, sondern am DB-Zugriff. Die DB kannst Du erreichen, ja? auch über ADO? Dann versuch das mal über ADO. Laut Recherche ist der Fehler "allgemeiner SQL-Fehler" eben KEIN Syntax-Problem, sondern ein Verbindungs-/Konfigurationsproblem.

Übrigens: "Alles geht", fragt sich manchmal nur: Wann.

_________________
Na denn, dann. Bis dann, denn.
D. Annies Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 1843

windows 7
D6 Enterprise, D7 Pers und TD 2006
BeitragVerfasst: Mo 30.06.08 18:27 
Hi, Alzaimer,

danke für deine Recherche, bzw. deine weiteren Bemühungen. Ich werde mal so vorgehen und melde mich dann wieder. P.S. du hast ja so recht: alles geht-aber wann - aber wir sind ja auch frustrationstolerant und hartnäckig!

So long,
Detlef

_________________
ut vires desint, tamen est laudanda voluntas
D. Annies Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 1843

windows 7
D6 Enterprise, D7 Pers und TD 2006
BeitragVerfasst: Mo 30.06.08 19:37 
Hi, Delpher, (besonders die Helfer: mkinzler, alzaimer)

einmal festhalten:

Ich habe jetzt den Index nur für Name gesetzt, also nicht mehr zusammengesetzt Name;Vorname - und siehe da, so klappt es.

Muss ich denn jetzt die Indizes nacheinander setzen, also erst für Name, dann für Vorname?

Danke für weitere Hilfe,
Detlef

_________________
ut vires desint, tamen est laudanda voluntas
mkinzler
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 4106
Erhaltene Danke: 13


Delphi 2010 Pro; Delphi.Prism 2011 pro
BeitragVerfasst: Mo 30.06.08 19:51 
Wenn du nach der Kombination Name und Vorname suchen willst, müssen auch beide Felder in einem Index vorhanden sein

info.borland.com/dev...iex/dbiaddindex.html

_________________
Markus Kinzler.
D. Annies Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 1843

windows 7
D6 Enterprise, D7 Pers und TD 2006
BeitragVerfasst: Mo 30.06.08 22:45 
Hi, Markus - Danke!

Aber, sehe ich das richtig, ich kann keinen mehrfachen Index für eine DBase/FoxPro-Tabelle vergeben, sondern nur für eine Paradox-Tabelle - oder habe ich etwas übersehen?
(Beispiel 1 - 4)

Gruß, Detlef (Frage fast beantwortet ...)

_________________
ut vires desint, tamen est laudanda voluntas
mkinzler
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 4106
Erhaltene Danke: 13


Delphi 2010 Pro; Delphi.Prism 2011 pro
BeitragVerfasst: Di 01.07.08 06:35 
Verwende mal statt der BDE den FoxPro-ODBC-Treiber. Das Indexformat von FoxPro unterscheidet sich von dem Der BDE (Mutli-Index)

_________________
Markus Kinzler.
D. Annies Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 1843

windows 7
D6 Enterprise, D7 Pers und TD 2006
BeitragVerfasst: Di 01.07.08 10:15 
Hi, Markus

lies mal bitte:

Der INDEX ON Befehl wird in dem Visual FoxPro-ODBC-Treiber nicht unterstützt. Das Erstellen regulärer Indexe für vorhandene Tabellen über den ODBC-Treiber, der den ALTER TABLE-Befehl verwendet, ist jedoch möglich. Das erstellt eine permanente Beziehung auf derselben Tabelle oder anderem, um durchzuführen, dann mit der Klausel SPEICHER arbeitet Umbruch die Beziehung mit der Klausel "DROP FOREIGN KEY" jedoch damit bleiben den Tag erhalten.

Alles klar?

Gruß, Detlef

_________________
ut vires desint, tamen est laudanda voluntas
mkinzler
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 4106
Erhaltene Danke: 13


Delphi 2010 Pro; Delphi.Prism 2011 pro
BeitragVerfasst: Di 01.07.08 11:21 
Ich würd es trotzdem mal per ADO probieren

_________________
Markus Kinzler.