AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Create Table funzt, aber der Compiler schmiert ab...
Thema durchsuchen
Ansicht
Themen-Optionen

Create Table funzt, aber der Compiler schmiert ab...

Ein Thema von torud · begonnen am 12. Apr 2005 · letzter Beitrag vom 12. Apr 2005
Antwort Antwort
torud

Registriert seit: 26. Jul 2002
Ort: Sachsen
1.198 Beiträge
 
Delphi XE5 Professional
 
#1

Create Table funzt, aber der Compiler schmiert ab...

  Alt 12. Apr 2005, 12:15
Datenbank: Access • Zugriff über: JET 4.0
Hallo Leute!

Mit Create Table erzeuge ich in einer Access-DB eine Tabelle. Diese Wird auch angelegt, aber wenn ich dann später darauf zugreifen will, stürzt meine Applikation ab. Muss ich vielleicht beim Erstellen einer Tabelle zwangsläufig Felder mit erzeugen???

Delphi-Quellcode:
        DM.ADOQuery1.SQL.Clear;
        DM.ADOQuery1.SQL.Text :='CREATE TABLE '+ed_name.Text;
        DM.ADOQuery1.ExecSQL;
        DM.ADOQuery1.SQL.Text := 'SELECT * FROM '+ed_name.Text;
In einer Schleife lese ich dann die Tabellen in einen Treeview ein. Dabei schmiert mir manchmal alles ab. Und zwar dann, wenn ShowMessage(tab_list.Strings[i]); den Tabellennamen einer leeren Tabelle anzeigen soll.

Delphi-Quellcode:
   tab_list:=TStringlist.Create;
   DM.ADOConnection1.GetTableNames(tab_list,false);

   for i:=0 to tab_list.Count-1 do
     begin
       DM.ADOTable1.Active:=false;
       dm.ADOTable1.TableName:=tab_list.Strings[i];
       DM.ADOTable1.Active:=true;
         ShowMessage(tab_list.Strings[i]);

         myNode:=tree_contents.Items.AddChild(nil,tab_list.Strings[i]);
         myNode.ImageIndex:=16;
         myNode.SelectedIndex:=16;
     end;
Die Fehlermeldung lautet:
---------------------------
Abfrage benötigt zumindest ein Zielfeld.
---------------------------

Wer kann helfen?
Danke
Tom
  Mit Zitat antworten Zitat
PRehders

Registriert seit: 31. Okt 2003
Ort: Hamburg
42 Beiträge
 
#2

Re: Create Table funzt, aber der Compiler schmiert ab...

  Alt 12. Apr 2005, 12:36
Hallo,
ich verstehe nicht ganz, was Du da machst; Du erzeugst eine Tabelle ohne Felder... versuche das mal manuell in Access selbst zu machen, es wird dir nicht gelingen. Ich weiss allerdings nicht, warum das Programm nicht gleich eine Exception wirft, wenn du das ExecSQL ausführst. Eine Tabelle muss immer Felder haben. Deine SQL-Anweisung ist daher syntaktisch falsch, es muss eine Liste der Tabellenfelder folgen.
Wahrscheinlich befindet sich Access nach dem "Erzeugen" in einem inkonsistenten Zustand und deshalb kommt es dann später beim Zugriff in der Schleife zu einer Execption.
Was immer du tun möchtest, so geht es nicht.

Bis dann

Peter
Peter Rehders
Man sollte niemanden ernst nehmen, der sich ernst nimmt.
  Mit Zitat antworten Zitat
torud

Registriert seit: 26. Jul 2002
Ort: Sachsen
1.198 Beiträge
 
Delphi XE5 Professional
 
#3

Re: Create Table funzt, aber der Compiler schmiert ab...

  Alt 12. Apr 2005, 13:09
Also der Wunschgedanke war unwissenden User es zu ermöglichen eine oder mehrere Tabellen anzulegen. Dies wollte ich möglich übersichtlich gestalten. Ich dachte, dass war wohl mein erster Fehler, dass es möglich sei, Tabellen anzulegen, die dann "später" mit den gewünschten Feldern befüllt werden.

Leider ist das nicht möglich. Auch im Access ist mir das nicht gelungen. Ich könnte nun die Tabelle mit einem Dummy-Feld anlegen, will aber den Usern dies nicht zumuten. Also werde ich wohl einen anderen Weg finden müssen...
Danke
Tom
  Mit Zitat antworten Zitat
Robert_G
(Gast)

n/a Beiträge
 
#4

Re: Create Table funzt, aber der Compiler schmiert ab...

  Alt 12. Apr 2005, 16:31
Warum nimmst du dir nicht einfach eine Klasse, die der zu erzeugenden Tabelle entsprechen soll.
Der User würde als erst eine Instanz davon zu Gesicht bekommen. Erst wenn er ihr genügend Felder, Schlüssel, whatever verpasst hat und sie wirklich ablegen will kannst du das nötige DDL daraus erzeugen und absetzen.

btw: Du gibst es nicht auf mit dem alten Ding, oder?
  Mit Zitat antworten Zitat
Antwort Antwort


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 14:38 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