![]() |
Datenbank: MYSQL • Version: 5.x • Zugriff über: mysqllib
MYSQL erkennt mehrere folgende Statements nicht
Moin,
hoffe, das ich schnelle Hilfe bekomme. Mein SQL-Statement besteht aus mehreren folgenden Statements. Wenn ich nur eines eingebe, klappts. Gebe ich dem MYSQL-Server mehrere zu fressen, werde ich angemeckert. Ich kann die Trennung zwischen zwei Statements machen, wie ich will => No Chance. Zur Info: Diese Statements befinden sich in einer Stringvariablen, welche an diese Funktion übergeben wird:
Delphi-Quellcode:
function speicher_antrag(stmp : string; _fddcon : PMySQL) :string;
var query : PChar; speichercode : integer; DatensatzID : integer; begin query := PCHAR(stmp); speichercode := mysql_real_query(_fddcon, query, Length(query)); DatensatzID := mysql_insert_id(_fddcon); result := mysql_error(_fddcon); end;
SQL-Code:
Anwort:
INSERT INTO abn_grid (zu_Akte,Jahre,Basis,VM_Zins,Hunderttausend,Sondertilgung,LV_BSV,Fonds,Summe_Aufschlaege,Tilgung,Zins,Gesamt,Score,Darlehen) VALUES ("2029","10","4.64","0","0","0","0","0","0.5","1","5.14","6.14","6.14","50000");
INSERT INTO abn_grid (zu_Akte,Jahre,Basis,VM_Zins,Hunderttausend,Sondertilgung,LV_BSV,Fonds,Summe_Aufschlaege,Tilgung,Zins,Gesamt,Score,Darlehen) VALUES ("2029","10","4.64","0","0","0","0","0","0.5","1","5.14","6.14","6.14","107500"); You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '; INTO abn_grid (zu_Akte,Jahre,Basis,VM_Zins,Hunderttause Was tun, sprach Zeus :gruebel: Gruss EL [edit=r_kerber]SQL-Tags eingefügt. Das nächste mal bitte selbst daran denken. Mfg, r_kerber[/edit] |
Re: MYSQL erkennt mehrere folgende Statements nicht
Diese Funktion erlaubt nur einfache Queries und keine komplette Skripte.
|
Re: MYSQL erkennt mehrere folgende Statements nicht
Zitat:
:cry: Wenn ich dieses Statement in den MySQL-Admin reinschmeiße gehts doch auch...? Gibts nen Workaround/ne Abhilfe? (Verzweifelter) Gruss EL |
Re: MYSQL erkennt mehrere folgende Statements nicht
Poste mal die Tabellen-Definition. Dann kann man mal gucken. :shock:
|
Re: MYSQL erkennt mehrere folgende Statements nicht
Versuch mal die Inserts einzeln auszuführen.
|
Re: MYSQL erkennt mehrere folgende Statements nicht
Zitat:
das geht ja! - Das ist ja der Joke dabei! Gruss EL |
Re: MYSQL erkennt mehrere folgende Statements nicht
Zitat:
Delphi-Quellcode:
Gruss
-- phpMyAdmin SQL Dump
-- version 2.6.0-pl3 -- [url]http://www.phpmyadmin.net[/url] -- -- Host: localhost:3307 -- Erstellungszeit: 10. Januar 2007 um 22:51 -- Server Version: 5.0.20 -- PHP-Version: 5.0.5 -- -- Datenbank: `banken` -- -- -------------------------------------------------------- -- -- Tabellenstruktur für Tabelle `abn_grid` -- CREATE TABLE `abn_grid` ( `lfdnr` int(10) NOT NULL auto_increment, `zu_Akte` varchar(10) collate latin1_german1_ci NOT NULL, `Jahre` tinyint(2) NOT NULL default '0', `Basis` decimal(6,4) default '0.0000', `VM_Zins` decimal(6,4) default '0.0000', `Hunderttausend` decimal(6,4) default '0.0000', `Sondertilgung` decimal(6,4) default '0.0000', `LV_BSV` decimal(6,4) default '0.0000', `Fonds` decimal(6,4) default '0.0000', `Summe_Aufschlaege` decimal(6,4) default '0.0000', `Tilgung` decimal(6,4) default '0.0000', `Zins` decimal(6,4) default '0.0000', `Gesamt` decimal(6,4) default '0.0000', `Score` decimal(6,4) default '0.0000', `Darlehen` bigint(10) NOT NULL default '0', PRIMARY KEY (`lfdnr`), KEY `zu_Akte` (`zu_Akte`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_german1_ci; EL |
Re: MYSQL erkennt mehrere folgende Statements nicht
Versuchs mal mit mysql_query()
|
Re: MYSQL erkennt mehrere folgende Statements nicht
Was ist denn das hier ?
Delphi-Quellcode:
`
|
Re: MYSQL erkennt mehrere folgende Statements nicht
Zitat:
Ich häng da nun schon einige Stunden drüber ... Gruss EL |
Re: MYSQL erkennt mehrere folgende Statements nicht
Schon mit anderen Komponenten versucht?
|
Re: MYSQL erkennt mehrere folgende Statements nicht
Zitat:
ich arbeite schon von eh her mit der mysqllib... und hatte nie Probleme. Ich werde mir wohl nen Workaround bauen... Wie war das nochmal, wenn man einer Funktion eine Stringlist übergibt :gruebel: So aufrufmäßig.... rechne(quellstringliste, @resultstringliste) : ... Funktion rechner(quelle, static .. result) ??? Gruss EL |
Re: MYSQL erkennt mehrere folgende Statements nicht
Ich glaube kaum das eine (c)-Funktion in einer Dll etwas mit der (Delphi-)Klasse TStringList anfangen kann.
|
Re: MYSQL erkennt mehrere folgende Statements nicht
Zitat:
Ich meinte das etwas anders: Man kann doch irgendwie in einem Funktionsaufruf einen Zeiger übergeben? Dann übergebe ich an meinen XML-Decodierer halt nur das @... und hab dann ne Stringlist mit ner Latte an SQL-Statements, die ich dann anschließend abarbeiten kann. Mit fehlt jetzt nur der Aufbau/die Syntax... Gruss EL |
Re: MYSQL erkennt mehrere folgende Statements nicht
Dann wäre vielleicht ein Array of PChar das Richtige.
|
Re: MYSQL erkennt mehrere folgende Statements nicht
Zitat:
Danke Gruss EL |
Re: MYSQL erkennt mehrere folgende Statements nicht
Zitat:
|
Re: MYSQL erkennt mehrere folgende Statements nicht
Zitat:
:gruebel: verstehe ich jetzt nicht ... Bitte mal ein wenig genauer Gruss EL |
Re: MYSQL erkennt mehrere folgende Statements nicht
Hansa hat gefragt, wofür der ` gut is (so hab ichs jedenfalls verstanden) - und ich hab drauf geantwortet. MySQL interpretiert das in ` eingeschlossene bei Tabellen- und Spaltennamen als komplette Bezeichnung, wie der MSSQL es mit [] macht oder andere SQL-Server die Bezeichner in " eingeschlossen sehen wollen. Sowas kann zum Beispiel nützlich sein, wenn man eine Spalte nach einen reservierten Bezeichner benennen will.
|
Re: MYSQL erkennt mehrere folgende Statements nicht
Zitat:
|
Re: MYSQL erkennt mehrere folgende Statements nicht
Zitat:
Beim Ausführen in seinem Programm, scheint aber nicht erkannt zu werden, daß es sich um mehrere Statements handelt oder Delphi scheint über die Sonderzeichen (Backstick) zu stolpern, was aber unwahrscheinlich ist, da die Statments einzeln ja funktionieren. |
Re: MYSQL erkennt mehrere folgende Statements nicht
Hallo EL,
für mich stellt sich dein Problem so dar, dass du weder beim Verbindungsaufbau (mysql_real_connect) noch später (mysql_set_server_option) die Verarbeitung von Befehlsstapeln angemeldet hast. Wenn du mit prepared statements arbeitest, dann steht dir das feature laut Handbuch generell nicht zur Verfügung. Grüße vom marabu |
Re: MYSQL erkennt mehrere folgende Statements nicht
Zitat:
ist mir so nicht bekannt. - Wie melde ich das denn an? Gruss EL |
Re: MYSQL erkennt mehrere folgende Statements nicht
|
Re: MYSQL erkennt mehrere folgende Statements nicht
Zitat:
Gruss EL |
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:42 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