SqlDataSource 與 MySQL的設定與錯誤解決
1. SqlDataSource在資料表、欄位都加上 [ ] 符號。MySQL不允許這樣做。
2. MySQL必須寫成 ---- ?參數名稱
1. SqlDataSource在資料表、欄位都加上 [ ] 符號。MySQL不允許這樣做。
2. MySQL必須寫成 ---- ?參數名稱
首先,我們先到 MySQL官方網站,下載相關軟體。
http://dev.mysql.com/downloads/windows/
我建議下載MySQL Installer大約有255MB
會有MySQL / ODBC / .NET Conector與相關的軟體 for Windows
安裝之後,您可以輸入管理者(root)的帳號與密碼
也可以輸入個人用戶的帳號與密碼,我設定一個 test帳號(密碼也相同)
在MySQL管理畫面設定一個 test資料庫
裡面設定(新建)一個資料表,都跟SQL Server大致相同
上面完成的設定,有這些資訊(後續連結字串會用到)
主機:localhost
帳號:test
密碼:test
============================================================================
在Visual Studio裡面,使用 SqlDataSource小精靈的時候,
連結字串要先改用 MySQL安裝上的套件!
完成上面步驟以後,連結字串(存在 Web.Config檔案內)
<add name="testConnectionString_MySQL"
connectionString="server=localhost;user id=帳號;password=密碼;persistsecurityinfo=True;database=資料庫"
providerName="MySql.Data.MySqlClient" />
使用 SqlDataSource的「進階」按鈕,產生新增、刪除、修改的SQL指令以後,
執行時出現以下的錯誤畫面
錯誤訊息:
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 '[test_table]' at line 1
回頭看一下HTML檔,發現 SqlDataSource在資料表、欄位都加上 [ ] 符號
MySQL不允許這樣做
另外,參數的寫法也有錯誤:
MS SQL Server ---- @參數名稱
Access或ODBC ---- ?
MySQL必須寫成 ---- ?參數名稱
修正如下,一切正常了。
============================================================================
上面的錯誤解決方法,是在這裡看見的。特此致謝。
(點選圖片,可超連結到原網址)
Oracle 請使用 :參數名稱
mySQL請用 ?參數名稱
SQL Server請用 @參數名稱
Access請用 ? (不搭配參數名稱,只有 ?符號)
關於 mySQL與Oracle參數的寫法,可以參閱這篇文章:
沒有留言:
張貼留言