![]() |
Datenbank: MySQL • Version: 5.1 • Zugriff über: MyConnection
Create Table über die Komponente MySQL Access
Hallo,
arbeite mit den Komponenten von MySQL Access. Möchte über eine Checkbox prüfen, ob die Table in der Datenbank vorhanden ist. Wenn nicht, soll die Table in die DB geschrieben werden. Das prüfen geht soweit ganz gut! Habe das Problem eine Table anzulegen.
Delphi-Quellcode:
procedure TForm1.CheckBox3Click(Sender: TObject);
begin if CheckBox3.Checked = true then begin MetaDataBosMon.MetaDataKind := 'Tables'; MetaDataBosMon.Restrictions.Values['TABLE_NAME'] := 'telegramstorage1'; MetaDataBosMon.Open; if not MetaDataBosMon.Eof then begin ShowMessage('Tabellenschema prüfung (BosMon) existed!'); mysqlbosmon.Active := true; refresh_bosmon.Enabled := true; BitBtn2.Enabled := true; BitBtn3.Enabled := true; BitBtn4.Enabled := true; BitBtn5.Enabled := true; BitBtn6.Enabled := true; CheckBox3.Enabled := false; end else begin refresh_bosmon.Enabled := false; mysqlbosmon.Active := false; BitBtn2.Enabled := false; BitBtn3.Enabled := false; BitBtn4.Enabled := false; BitBtn5.Enabled := false; BitBtn6.Enabled := false; CheckBox3.Enabled := true; ShowMessage('Tabellenschema prüfung (BosMon) failed!'); CheckBox3.Checked := false; script_bosmon.SQL.Text := CREATE TABLE `users` ( // also ab hier habe ich ein Problem! Was ist falsch an "Create Table" ?? `id` int(3) NOT NULL auto_increment, `login` varchar(8) default NULL, `password` varchar(8) default NULL, PRIMARY KEY (`id`) ) TYPE=MyISAM AUTO_INCREMENT=3 ; script_bosmon.Execute; end; end; end; |
AW: Create Table über die Komponente MySQL Access
Zitat:
Wenn dein Quellcode genau so aussieht, wie du es gepostet hast, dann überlege mal, was du da eigentlich an SQL.Text zuweisen willst. (string :roll:) |
AW: Create Table über die Komponente MySQL Access
Kleiner Tipp am Rande:
Delphi-Quellcode:
löst TCheckbox.OnClick aus.
TCheckbox.Checked := True // oder False
Riesen VCL-Bullshit, das gehört eigentlich in ein OnChange. Aber die Dinge sind nun mal wie sie sind. |
AW: Create Table über die Komponente MySQL Access
Ich vestehe nicht ganz, wozu den ganzen Aufriss, MySQL hat doch da eine bestimmte Sytnax:
SQL-Code:
Damit wird die Tabelle nur dann angelegt, wenn sie noch nicht existiert.
CREATE TABLE IF NOT EXISTS `users` (
`id` int(3) NOT NULL auto_increment, `login` varchar(8) default NULL, `password` varchar(8) default NULL, PRIMARY KEY (`id`) ) TYPE=MyISAM AUTO_INCREMENT=3; |
AW: Create Table über die Komponente MySQL Access
Es geht hier vermutlich um den Aufbau des 'Strings', fehlendes Hochkomma.
Außerdem müsste es glaub ich 'Engine' statt 'Type' heißen, aber ist vielleicht versionsabhängig. Wenn, dann wäre es auch bei der Variante mit Exists ein Fehler. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:15 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 by Thomas Breitkreuz