2016-04-01 13 views
0

MySqlConnector.ExecSql(SqlScript.Text);コード内の私の行です。FireDac MySql Connector.ExecSqlは動作しません。

SqlScript.Textは、私は、スクリプトが失敗している場所を知っているIDEのフォームのエラーコードを取得カント

CREATE TABLE IF NOT EXISTS timecard.VersionControl ( 
    `Table` varchar(30) NOT NULL,    
    `Version` DECIMAL NOT NULL, 
    PRIMARY KEY (`Table`) 
) ENGINE=InnoDB DEFAULT CHARSET=utf8;  

DROP PROCEDURE IF EXISTS timecard.UpdateVersionControl; 

DELIMITER $$ 

CREATE DEFINER = 'root'@'localhost' 
PROCEDURE timecard.UpdateVersionControl(IN `Tab` VARCHAR(30), IN `Ver` DECIMAL) 
BEGIN         
    if EXISTS(SELECT * FROM timecard.VersionControl WHERE `Table` = Tab) THEN 
    UPDATE timecard.VersionControl SET `Version`=Ver WHERE `Table`=Tab; 
    else   
    INSERT INTO timecard.VersionControl (`Table`, `Version`) VALUES (Tab, Ver); 
    END IF; 
END$$ 

DELIMITER ; 

がロードされています。

私はMySqlワークベンチでスクリプトを実行するとうまくいきます。作品の罰金場合は、別のスクリプトとして1つのスクリプトとして表を作成して、手順を実行する場合

なぜ私は1つのExecSqlスクリプトとして実行できませんか?

+0

最近、FireDACの作者は "DaSoft"というタグの下でSOにかなり活発になっています。ここで回答が得られない場合は、EMBAのFireDACニュースグループ(https://forums.embarcadero.com/forum.jspa?forumID=502 – MartynA

答えて

関連する問題