我有一個連接到MySQL數(shù)據(jù)庫的delphi應(yīng)用程序,但是,我想為我的最終用戶創(chuàng)建一個簡單的方法來實現(xiàn)MySQL數(shù)據(jù)庫.我想在我的應(yīng)用程序中創(chuàng)建一個按鈕,用戶可以按這個按鈕刪除當前的scehma實例,并使用我的應(yīng)用程序需要運行的正確表和列創(chuàng)建一個新模式. 我編寫了代碼來創(chuàng)建新數(shù)據(jù)庫.它如下:
代碼在MySQL中正常運行,但是在執(zhí)行代碼時我收到SQL語法錯誤.我得到了:
解決方法: 正如我的一條評論中所提到的,問題是嘗試在單個TAdoQuery組件中執(zhí)行多個單獨的SQL語句. 在一個理想的世界中,你會有一個像MyDAC這樣的組件,它有一個腳本組件可以代替TAdoQuery使用(MyDAC會給你帶來其他好處,比如不必通過ODBC連接).我不知道是否有任何免費的MySQL組件,其中有一個腳本組件. 另一種方法是您可以創(chuàng)建腳本文件(例如createFakeSchema.sql)并通過命令行執(zhí)行它.例如: createFakeSchema.sql:
示例源代碼:
這樣你就可以在某處外部創(chuàng)建你的腳本文件,自己通過MySQL測試它,然后當你知道你的腳本工作時,你可以通過你的程序運行它.如果要在執(zhí)行時隱藏命令窗口,請將ShellExecute中的SW_SHOW更改為SW_HIDE.這樣你甚至根本不需要任何組件 – 只需在路徑中訪問mysql.exe或在cmd語句中包含完整路徑即可. 這是在MySQL 5.1中完成的,所以希望適用于3.5 … 來源:https://www./content-2-266251.html |
|