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
Jumpy

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

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.245 Beiträge
 
Delphi 2007 Architect
 
#2

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
172 Beiträge
 
Delphi 12 Athens
 
#3

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...
Micha
  Mit Zitat antworten Zitat
DelTurbo

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

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
Benutzerbild von rapante
rapante

Registriert seit: 3. Jun 2009
Ort: OPR
172 Beiträge
 
Delphi 12 Athens
 
#5

AW: MyDac und Temporäre Tabellen

  Alt 10. Jan 2014, 10:09
Weil's mich nicht losgelassen hat, hab ich versucht das nachzuvollziehen.
Die Connection wird durch den Aufruf von Excute NICHT getrennt.
Die angelegte temporäre Tabelle existiert auch über mehrere getrennte Execute's,
aber es funktioniert dennoch nicht:
Hier gibts den Fehler "Tabelle existiert nicht"
Delphi-Quellcode:
  MyQuery1.SQL.Clear;
  MyQuery1.Sql.Add('CREATE TEMPORARY TABLE tmp (ID int NOT NULL AUTO_INCREMENT, PID Int, PRIMARY KEY (ID)) ENGINE=INNODB;');
  MyQuery1.Execute;

  MyQuery1.SQL.Clear;
  MyQuery1.Sql.Add('INSERT INTO tmp(PID) VALUES (2);');
  MyQuery1.Execute;
Hier knallts auch weil die Tabelle "tmp" bereits existiert
Delphi-Quellcode:
  MyQuery1.SQL.Clear;
  MyQuery1.Sql.Add('CREATE TEMPORARY TABLE tmp (ID int NOT NULL AUTO_INCREMENT, PID Int, PRIMARY KEY (ID)) ENGINE=INNODB;');
  MyQuery1.Execute;

  MyQuery1.SQL.Clear;
  MyQuery1.Sql.Add('CREATE TEMPORARY TABLE tmp (ID int NOT NULL AUTO_INCREMENT, PID Int, PRIMARY KEY (ID)) ENGINE=INNODB;');
  MyQuery1.Execute;
Ja wie denn jetzt, entweder sie existiert oder sie existiert nicht?!
Micha
  Mit Zitat antworten Zitat
DelTurbo

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

AW: MyDac und Temporäre Tabellen

  Alt 10. Jan 2014, 10:17
Ich habe das ganze mal mit DirectMySql versucht. Klappt einwandfrei. Mehr kann ich dazu leider auch nicht sagen. Man findet aber auch nix im netz.

Das ist kein Fehler vom Server, sonst würde es ja mit anderen sachen nicht gehen, sondern vom MyDac.

Danke für deine rückmeldung.
Alle meine Rechtschreibfehler sind Urheberrechtlich geschützt!!
  Mit Zitat antworten Zitat
Benutzerbild von baumina
baumina

Registriert seit: 5. Mai 2008
Ort: Oberschwaben
1.275 Beiträge
 
Delphi 11 Alexandria
 
#7

AW: MyDac und Temporäre Tabellen

  Alt 10. Jan 2014, 10:51
Ich habs grad mal mit UniDAC ausprobiert. Auch dort klappt das einwandfrei.
Hinter dir gehts abwärts und vor dir steil bergauf ! (Wolfgang Ambros)
  Mit Zitat antworten Zitat
VCLControls

Registriert seit: 14. Aug 2013
31 Beiträge
 
Delphi 7 Professional
 
#8

AW: MyDac und Temporäre Tabellen

  Alt 10. Jan 2014, 10:55
Den Code von rapante habe ich mit MyDAC probiert und funktioniert einwandfrei.
Delphi-Quellcode:
  MyQuery1.SQL.Clear;
  MyQuery1.Sql.Add('CREATE TEMPORARY TABLE tmp (ID int NOT NULL AUTO_INCREMENT, PID Int, PRIMARY KEY (ID)) ENGINE=INNODB;');
  MyQuery1.Execute;

  MyQuery1.SQL.Clear;
  MyQuery1.Sql.Add('INSERT INTO tmp(PID) VALUES (2);');
  MyQuery1.Execute;
  Mit Zitat antworten Zitat
Benutzerbild von rapante
rapante

Registriert seit: 3. Jun 2009
Ort: OPR
172 Beiträge
 
Delphi 12 Athens
 
#9

AW: MyDac und Temporäre Tabellen

  Alt 10. Jan 2014, 11:27
@VCLControls
Welche Version der MyDac Komponenten hast du im Einsatz?

Bei mir läuft 7.6.11
Micha
  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 02:56 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz