AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi MyDac und Temporäre Tabellen
Thema durchsuchen
Ansicht
Themen-Optionen

MyDac und Temporäre Tabellen

Ein Thema von DelTurbo · begonnen am 9. Jan 2014 · letzter Beitrag vom 10. Jan 2014
Antwort Antwort
Seite 1 von 2  1 2      
DelTurbo

Registriert seit: 12. Dez 2009
Ort: Eifel
1.194 Beiträge
 
Delphi 2007 Architect
 
#1

MyDac und Temporäre Tabellen

  Alt 9. Jan 2014, 08:17
Datenbank: MySql • Version: 5.x • Zugriff über: MyDac
Hi,
ich habe ein problem mit Temporären Tabellen und MyDac. Bei "Geht nicht" bekomme ich die rückmeldung das es keine tmp Tabelle gibt.

Das ist nur ein hingefummeltes beispiel, um zu verdeutlichen was ich meine.

Geht:
Delphi-Quellcode:
Query.Sql.Add('CREATE TEMPORARY TABLE tmp (ID int NOT NULL AUTO_INCREMENT, PID Int, PRIMARY KEY (ID)) ENGINE=INNODB;INSERT INTO Test(T1,T2,Status) VALUES (1,1,False);INSERT INTO tmp(PID) VALUES (LAST_INSERT_ID());');
Query.Execute;
Geht nicht:
Delphi-Quellcode:
Query.Sql.Add('CREATE TEMPORARY TABLE tmp (ID int NOT NULL AUTO_INCREMENT, PID Int, PRIMARY KEY (ID)) ENGINE=INNODB;');
Query.Execute;
// Und dann in einer schleife folgendes.
Query.Sql.Clear;
Query.Sql.Add('INSERT INTO Test(T1,T2,Status) VALUES (1,1,False);INSERT INTO tmp(PID) VALUES (LAST_INSERT_ID());');
Query.Execute;
Mache ich das z.b. mit Navicat for MySQL, dann kann ich an die tmp Tabelle bis ich die Connection wirklich schließe.

Danke im voraus
Alle meine Rechtschreibfehler sind Urheberrechtlich geschützt!!

Geändert von DelTurbo ( 9. Jan 2014 um 09:59 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Memo
Memo

Registriert seit: 19. Aug 2003
509 Beiträge
 
Delphi 7 Enterprise
 
#2

AW: MyDac und Temporäre Tabellen

  Alt 9. Jan 2014, 08:36
In Deinem Beispie "Geht nicht" heißen die erzeugte Tabelle und die in die Du einfügen willst unterschiedlich.
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.541 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: MyDac und Temporäre Tabellen

  Alt 9. Jan 2014, 08:49
Nö, es sind 2 Tabellen in einem Statement, ich hab das auch erst nicht gesehen.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
DelTurbo

Registriert seit: 12. Dez 2009
Ort: Eifel
1.194 Beiträge
 
Delphi 2007 Architect
 
#4

AW: MyDac und Temporäre Tabellen

  Alt 9. Jan 2014, 08:57
Ne, also die Tabelle Test gibt es schon. Es geht im grunde nur um die Tabelle tmp, die "verschwindet". Laut MySql wird die aber erst gedropt wenn man die Connection schließt. Und das stimmt sogar
Alle meine Rechtschreibfehler sind Urheberrechtlich geschützt!!
  Mit Zitat antworten Zitat
Benutzerbild von Jasocul
Jasocul

Registriert seit: 22. Sep 2004
Ort: Delmenhorst
1.338 Beiträge
 
Delphi 11 Alexandria
 
#5

AW: MyDac und Temporäre Tabellen

  Alt 9. Jan 2014, 09:25
Klingt nach einem automatischen Disconnect zwischen den Aktionen.
Schau mal nach, wie dein DisconnectedMode eingestellt ist.
Peter
  Mit Zitat antworten Zitat
DelTurbo

Registriert seit: 12. Dez 2009
Ort: Eifel
1.194 Beiträge
 
Delphi 2007 Architect
 
#6

AW: MyDac und Temporäre Tabellen

  Alt 9. Jan 2014, 09:35
Ist False. Ist ja default. An den Default Werten habe ich nix geändert.
Alle meine Rechtschreibfehler sind Urheberrechtlich geschützt!!
  Mit Zitat antworten Zitat
Jumpy

Registriert seit: 9. Dez 2010
Ort: Mönchengladbach
1.733 Beiträge
 
Delphi 6 Enterprise
 
#7

AW: MyDac und Temporäre Tabellen

  Alt 9. Jan 2014, 09:54
Müsste man nicht in der zweiten Version immer SQL.Text statt SQL.Add nehmen? Das Statement wird ja sonst immer länger...
Oder ein SQl.Clear dazwischen bauen...
Ralph
  Mit Zitat antworten Zitat
DelTurbo

Registriert seit: 12. Dez 2009
Ort: Eifel
1.194 Beiträge
 
Delphi 2007 Architect
 
#8

AW: MyDac und Temporäre Tabellen

  Alt 9. Jan 2014, 09:59
Jop, ein Clear ist dazwischen. Wie gesagt, oben das ist grade mal so hingefummelt. Aber ich änder das grade. Wäre aber Theoretisch nicht schlimm, wenn man das Execute nach der schleifen machen würde. Aber der Effekt bleibt. Die tmp Tabelle ist weg.

Danke.
Alle meine Rechtschreibfehler sind Urheberrechtlich geschützt!!
  Mit Zitat antworten Zitat
Benutzerbild von rapante
rapante

Registriert seit: 3. Jun 2009
Ort: OPR
171 Beiträge
 
Delphi XE2 Professional
 
#9

AW: MyDac und Temporäre Tabellen

  Alt 9. Jan 2014, 10:19
Ich glaube mich zu erinnern, dass in der Execute-Methode die Verbindung zuerst getrennt wird...
  Mit Zitat antworten Zitat
DelTurbo

Registriert seit: 12. Dez 2009
Ort: Eifel
1.194 Beiträge
 
Delphi 2007 Architect
 
#10

AW: MyDac und Temporäre Tabellen

  Alt 9. Jan 2014, 11:21
Ich glaube mich zu erinnern, dass in der Execute-Methode die Verbindung zuerst getrennt wird...
Das wär ja blöd. Was soll man denn statt Execute nehmen?
Alle meine Rechtschreibfehler sind Urheberrechtlich geschützt!!
  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 13:27 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